package org.xtext.example.mydsl.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import org.xtext.example.mydsl.services.MyDslGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
@SuppressWarnings("all")
public class InternalMyDslParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_VARIABLE", "RULE_TVAR", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'Main{'", "'}'", "'Types{'", "';'", "'Declarations{'", "'import'", "'='", "'let'", "':'", "'in'", "'\\\\('", "').'", "'('", "')'", "'/\\\\'", "'.'", "'['", "']'", "'->'", "'forall'"
    };
    public static final int RULE_ID=5;
    public static final int T__29=29;
    public static final int T__28=28;
    public static final int RULE_TVAR=7;
    public static final int T__27=27;
    public static final int T__26=26;
    public static final int T__25=25;
    public static final int T__24=24;
    public static final int T__23=23;
    public static final int T__22=22;
    public static final int RULE_ANY_OTHER=12;
    public static final int T__21=21;
    public static final int T__20=20;
    public static final int RULE_SL_COMMENT=10;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=9;
    public static final int T__30=30;
    public static final int T__19=19;
    public static final int T__31=31;
    public static final int RULE_STRING=4;
    public static final int T__32=32;
    public static final int T__16=16;
    public static final int T__15=15;
    public static final int T__18=18;
    public static final int RULE_VARIABLE=6;
    public static final int T__17=17;
    public static final int T__14=14;
    public static final int T__13=13;
    public static final int RULE_INT=8;
    public static final int RULE_WS=11;

    // delegates
    // delegators


        public InternalMyDslParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalMyDslParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalMyDslParser.tokenNames; }
    public String getGrammarFileName() { return "../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g"; }


     
     	private MyDslGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(MyDslGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleFileSF"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:61:1: entryRuleFileSF : ruleFileSF EOF ;
    public final void entryRuleFileSF() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:62:1: ( ruleFileSF EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:63:1: ruleFileSF EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFileSFRule()); 
            }
            pushFollow(FOLLOW_ruleFileSF_in_entryRuleFileSF67);
            ruleFileSF();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFileSFRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleFileSF74); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleFileSF"


    // $ANTLR start "ruleFileSF"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:70:1: ruleFileSF : ( ( rule__FileSF__Alternatives ) ) ;
    public final void ruleFileSF() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:74:2: ( ( ( rule__FileSF__Alternatives ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:75:1: ( ( rule__FileSF__Alternatives ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:75:1: ( ( rule__FileSF__Alternatives ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:76:1: ( rule__FileSF__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFileSFAccess().getAlternatives()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:77:1: ( rule__FileSF__Alternatives )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:77:2: rule__FileSF__Alternatives
            {
            pushFollow(FOLLOW_rule__FileSF__Alternatives_in_ruleFileSF100);
            rule__FileSF__Alternatives();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFileSFAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleFileSF"


    // $ANTLR start "entryRuleProg"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:89:1: entryRuleProg : ruleProg EOF ;
    public final void entryRuleProg() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:90:1: ( ruleProg EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:91:1: ruleProg EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgRule()); 
            }
            pushFollow(FOLLOW_ruleProg_in_entryRuleProg127);
            ruleProg();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleProg134); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleProg"


    // $ANTLR start "ruleProg"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:98:1: ruleProg : ( ( rule__Prog__Group__0 ) ) ;
    public final void ruleProg() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:102:2: ( ( ( rule__Prog__Group__0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:103:1: ( ( rule__Prog__Group__0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:103:1: ( ( rule__Prog__Group__0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:104:1: ( rule__Prog__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getGroup()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:105:1: ( rule__Prog__Group__0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:105:2: rule__Prog__Group__0
            {
            pushFollow(FOLLOW_rule__Prog__Group__0_in_ruleProg160);
            rule__Prog__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleProg"


    // $ANTLR start "entryRuleProg1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:117:1: entryRuleProg1 : ruleProg1 EOF ;
    public final void entryRuleProg1() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:118:1: ( ruleProg1 EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:119:1: ruleProg1 EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProg1Rule()); 
            }
            pushFollow(FOLLOW_ruleProg1_in_entryRuleProg1187);
            ruleProg1();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProg1Rule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleProg1194); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleProg1"


    // $ANTLR start "ruleProg1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:126:1: ruleProg1 : ( ( rule__Prog1__Group__0 ) ) ;
    public final void ruleProg1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:130:2: ( ( ( rule__Prog1__Group__0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:131:1: ( ( rule__Prog1__Group__0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:131:1: ( ( rule__Prog1__Group__0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:132:1: ( rule__Prog1__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProg1Access().getGroup()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:133:1: ( rule__Prog1__Group__0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:133:2: rule__Prog1__Group__0
            {
            pushFollow(FOLLOW_rule__Prog1__Group__0_in_ruleProg1220);
            rule__Prog1__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getProg1Access().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleProg1"


    // $ANTLR start "entryRuleImport"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:145:1: entryRuleImport : ruleImport EOF ;
    public final void entryRuleImport() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:146:1: ( ruleImport EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:147:1: ruleImport EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getImportRule()); 
            }
            pushFollow(FOLLOW_ruleImport_in_entryRuleImport247);
            ruleImport();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getImportRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleImport254); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleImport"


    // $ANTLR start "ruleImport"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:154:1: ruleImport : ( ( rule__Import__Group__0 ) ) ;
    public final void ruleImport() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:158:2: ( ( ( rule__Import__Group__0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:159:1: ( ( rule__Import__Group__0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:159:1: ( ( rule__Import__Group__0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:160:1: ( rule__Import__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getImportAccess().getGroup()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:161:1: ( rule__Import__Group__0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:161:2: rule__Import__Group__0
            {
            pushFollow(FOLLOW_rule__Import__Group__0_in_ruleImport280);
            rule__Import__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getImportAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleImport"


    // $ANTLR start "entryRuleDich"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:173:1: entryRuleDich : ruleDich EOF ;
    public final void entryRuleDich() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:174:1: ( ruleDich EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:175:1: ruleDich EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDichRule()); 
            }
            pushFollow(FOLLOW_ruleDich_in_entryRuleDich307);
            ruleDich();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getDichRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleDich314); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDich"


    // $ANTLR start "ruleDich"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:182:1: ruleDich : ( ( rule__Dich__Group__0 ) ) ;
    public final void ruleDich() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:186:2: ( ( ( rule__Dich__Group__0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:187:1: ( ( rule__Dich__Group__0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:187:1: ( ( rule__Dich__Group__0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:188:1: ( rule__Dich__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDichAccess().getGroup()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:189:1: ( rule__Dich__Group__0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:189:2: rule__Dich__Group__0
            {
            pushFollow(FOLLOW_rule__Dich__Group__0_in_ruleDich340);
            rule__Dich__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getDichAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDich"


    // $ANTLR start "entryRuleNrif"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:201:1: entryRuleNrif : ruleNrif EOF ;
    public final void entryRuleNrif() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:202:1: ( ruleNrif EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:203:1: ruleNrif EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getNrifRule()); 
            }
            pushFollow(FOLLOW_ruleNrif_in_entryRuleNrif367);
            ruleNrif();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getNrifRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleNrif374); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleNrif"


    // $ANTLR start "ruleNrif"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:210:1: ruleNrif : ( ( rule__Nrif__NomeAssignment ) ) ;
    public final void ruleNrif() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:214:2: ( ( ( rule__Nrif__NomeAssignment ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:215:1: ( ( rule__Nrif__NomeAssignment ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:215:1: ( ( rule__Nrif__NomeAssignment ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:216:1: ( rule__Nrif__NomeAssignment )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getNrifAccess().getNomeAssignment()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:217:1: ( rule__Nrif__NomeAssignment )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:217:2: rule__Nrif__NomeAssignment
            {
            pushFollow(FOLLOW_rule__Nrif__NomeAssignment_in_ruleNrif400);
            rule__Nrif__NomeAssignment();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getNrifAccess().getNomeAssignment()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleNrif"


    // $ANTLR start "entryRuleTerm"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:229:1: entryRuleTerm : ruleTerm EOF ;
    public final void entryRuleTerm() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:230:1: ( ruleTerm EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:231:1: ruleTerm EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTermRule()); 
            }
            pushFollow(FOLLOW_ruleTerm_in_entryRuleTerm427);
            ruleTerm();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTermRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleTerm434); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTerm"


    // $ANTLR start "ruleTerm"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:238:1: ruleTerm : ( ( rule__Term__Alternatives ) ) ;
    public final void ruleTerm() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:242:2: ( ( ( rule__Term__Alternatives ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:243:1: ( ( rule__Term__Alternatives ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:243:1: ( ( rule__Term__Alternatives ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:244:1: ( rule__Term__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTermAccess().getAlternatives()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:245:1: ( rule__Term__Alternatives )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:245:2: rule__Term__Alternatives
            {
            pushFollow(FOLLOW_rule__Term__Alternatives_in_ruleTerm460);
            rule__Term__Alternatives();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getTermAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTerm"


    // $ANTLR start "entryRuleLet"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:257:1: entryRuleLet : ruleLet EOF ;
    public final void entryRuleLet() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:258:1: ( ruleLet EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:259:1: ruleLet EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetRule()); 
            }
            pushFollow(FOLLOW_ruleLet_in_entryRuleLet487);
            ruleLet();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleLet494); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleLet"


    // $ANTLR start "ruleLet"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:266:1: ruleLet : ( ( rule__Let__Group__0 ) ) ;
    public final void ruleLet() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:270:2: ( ( ( rule__Let__Group__0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:271:1: ( ( rule__Let__Group__0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:271:1: ( ( rule__Let__Group__0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:272:1: ( rule__Let__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetAccess().getGroup()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:273:1: ( rule__Let__Group__0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:273:2: rule__Let__Group__0
            {
            pushFollow(FOLLOW_rule__Let__Group__0_in_ruleLet520);
            rule__Let__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleLet"


    // $ANTLR start "entryRuleVar"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:285:1: entryRuleVar : ruleVar EOF ;
    public final void entryRuleVar() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:286:1: ( ruleVar EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:287:1: ruleVar EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVarRule()); 
            }
            pushFollow(FOLLOW_ruleVar_in_entryRuleVar547);
            ruleVar();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getVarRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleVar554); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleVar"


    // $ANTLR start "ruleVar"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:294:1: ruleVar : ( ( rule__Var__NameAssignment ) ) ;
    public final void ruleVar() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:298:2: ( ( ( rule__Var__NameAssignment ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:299:1: ( ( rule__Var__NameAssignment ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:299:1: ( ( rule__Var__NameAssignment ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:300:1: ( rule__Var__NameAssignment )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVarAccess().getNameAssignment()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:301:1: ( rule__Var__NameAssignment )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:301:2: rule__Var__NameAssignment
            {
            pushFollow(FOLLOW_rule__Var__NameAssignment_in_ruleVar580);
            rule__Var__NameAssignment();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getVarAccess().getNameAssignment()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleVar"


    // $ANTLR start "entryRuleAbs"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:313:1: entryRuleAbs : ruleAbs EOF ;
    public final void entryRuleAbs() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:314:1: ( ruleAbs EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:315:1: ruleAbs EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAbsRule()); 
            }
            pushFollow(FOLLOW_ruleAbs_in_entryRuleAbs607);
            ruleAbs();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAbsRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleAbs614); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAbs"


    // $ANTLR start "ruleAbs"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:322:1: ruleAbs : ( ( rule__Abs__Group__0 ) ) ;
    public final void ruleAbs() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:326:2: ( ( ( rule__Abs__Group__0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:327:1: ( ( rule__Abs__Group__0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:327:1: ( ( rule__Abs__Group__0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:328:1: ( rule__Abs__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAbsAccess().getGroup()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:329:1: ( rule__Abs__Group__0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:329:2: rule__Abs__Group__0
            {
            pushFollow(FOLLOW_rule__Abs__Group__0_in_ruleAbs640);
            rule__Abs__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAbsAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAbs"


    // $ANTLR start "entryRuleApp"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:341:1: entryRuleApp : ruleApp EOF ;
    public final void entryRuleApp() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:342:1: ( ruleApp EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:343:1: ruleApp EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAppRule()); 
            }
            pushFollow(FOLLOW_ruleApp_in_entryRuleApp667);
            ruleApp();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAppRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleApp674); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleApp"


    // $ANTLR start "ruleApp"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:350:1: ruleApp : ( ( rule__App__Group__0 ) ) ;
    public final void ruleApp() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:354:2: ( ( ( rule__App__Group__0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:355:1: ( ( rule__App__Group__0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:355:1: ( ( rule__App__Group__0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:356:1: ( rule__App__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAppAccess().getGroup()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:357:1: ( rule__App__Group__0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:357:2: rule__App__Group__0
            {
            pushFollow(FOLLOW_rule__App__Group__0_in_ruleApp700);
            rule__App__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAppAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleApp"


    // $ANTLR start "entryRuleUq"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:369:1: entryRuleUq : ruleUq EOF ;
    public final void entryRuleUq() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:370:1: ( ruleUq EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:371:1: ruleUq EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUqRule()); 
            }
            pushFollow(FOLLOW_ruleUq_in_entryRuleUq727);
            ruleUq();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUqRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleUq734); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleUq"


    // $ANTLR start "ruleUq"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:378:1: ruleUq : ( ( rule__Uq__Group__0 ) ) ;
    public final void ruleUq() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:382:2: ( ( ( rule__Uq__Group__0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:383:1: ( ( rule__Uq__Group__0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:383:1: ( ( rule__Uq__Group__0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:384:1: ( rule__Uq__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUqAccess().getGroup()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:385:1: ( rule__Uq__Group__0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:385:2: rule__Uq__Group__0
            {
            pushFollow(FOLLOW_rule__Uq__Group__0_in_ruleUq760);
            rule__Uq__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUqAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleUq"


    // $ANTLR start "entryRuleTapp"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:397:1: entryRuleTapp : ruleTapp EOF ;
    public final void entryRuleTapp() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:398:1: ( ruleTapp EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:399:1: ruleTapp EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTappRule()); 
            }
            pushFollow(FOLLOW_ruleTapp_in_entryRuleTapp787);
            ruleTapp();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTappRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleTapp794); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTapp"


    // $ANTLR start "ruleTapp"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:406:1: ruleTapp : ( ( rule__Tapp__Group__0 ) ) ;
    public final void ruleTapp() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:410:2: ( ( ( rule__Tapp__Group__0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:411:1: ( ( rule__Tapp__Group__0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:411:1: ( ( rule__Tapp__Group__0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:412:1: ( rule__Tapp__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTappAccess().getGroup()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:413:1: ( rule__Tapp__Group__0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:413:2: rule__Tapp__Group__0
            {
            pushFollow(FOLLOW_rule__Tapp__Group__0_in_ruleTapp820);
            rule__Tapp__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getTappAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTapp"


    // $ANTLR start "entryRuleT"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:425:1: entryRuleT : ruleT EOF ;
    public final void entryRuleT() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:426:1: ( ruleT EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:427:1: ruleT EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTRule()); 
            }
            pushFollow(FOLLOW_ruleT_in_entryRuleT847);
            ruleT();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleT854); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleT"


    // $ANTLR start "ruleT"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:434:1: ruleT : ( ( rule__T__Alternatives ) ) ;
    public final void ruleT() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:438:2: ( ( ( rule__T__Alternatives ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:439:1: ( ( rule__T__Alternatives ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:439:1: ( ( rule__T__Alternatives ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:440:1: ( rule__T__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTAccess().getAlternatives()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:441:1: ( rule__T__Alternatives )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:441:2: rule__T__Alternatives
            {
            pushFollow(FOLLOW_rule__T__Alternatives_in_ruleT880);
            rule__T__Alternatives();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getTAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleT"


    // $ANTLR start "entryRuleT1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:453:1: entryRuleT1 : ruleT1 EOF ;
    public final void entryRuleT1() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:454:1: ( ruleT1 EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:455:1: ruleT1 EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT1Rule()); 
            }
            pushFollow(FOLLOW_ruleT1_in_entryRuleT1907);
            ruleT1();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getT1Rule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleT1914); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleT1"


    // $ANTLR start "ruleT1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:462:1: ruleT1 : ( ( rule__T1__Group__0 ) ) ;
    public final void ruleT1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:466:2: ( ( ( rule__T1__Group__0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:467:1: ( ( rule__T1__Group__0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:467:1: ( ( rule__T1__Group__0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:468:1: ( rule__T1__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT1Access().getGroup()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:469:1: ( rule__T1__Group__0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:469:2: rule__T1__Group__0
            {
            pushFollow(FOLLOW_rule__T1__Group__0_in_ruleT1940);
            rule__T1__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getT1Access().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleT1"


    // $ANTLR start "entryRuleT2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:481:1: entryRuleT2 : ruleT2 EOF ;
    public final void entryRuleT2() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:482:1: ( ruleT2 EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:483:1: ruleT2 EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT2Rule()); 
            }
            pushFollow(FOLLOW_ruleT2_in_entryRuleT2967);
            ruleT2();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getT2Rule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleT2974); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleT2"


    // $ANTLR start "ruleT2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:490:1: ruleT2 : ( ( rule__T2__Group__0 ) ) ;
    public final void ruleT2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:494:2: ( ( ( rule__T2__Group__0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:495:1: ( ( rule__T2__Group__0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:495:1: ( ( rule__T2__Group__0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:496:1: ( rule__T2__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT2Access().getGroup()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:497:1: ( rule__T2__Group__0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:497:2: rule__T2__Group__0
            {
            pushFollow(FOLLOW_rule__T2__Group__0_in_ruleT21000);
            rule__T2__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getT2Access().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleT2"


    // $ANTLR start "entryRuleT3"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:509:1: entryRuleT3 : ruleT3 EOF ;
    public final void entryRuleT3() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:510:1: ( ruleT3 EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:511:1: ruleT3 EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT3Rule()); 
            }
            pushFollow(FOLLOW_ruleT3_in_entryRuleT31027);
            ruleT3();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getT3Rule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleT31034); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleT3"


    // $ANTLR start "ruleT3"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:518:1: ruleT3 : ( ( rule__T3__Group__0 ) ) ;
    public final void ruleT3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:522:2: ( ( ( rule__T3__Group__0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:523:1: ( ( rule__T3__Group__0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:523:1: ( ( rule__T3__Group__0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:524:1: ( rule__T3__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT3Access().getGroup()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:525:1: ( rule__T3__Group__0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:525:2: rule__T3__Group__0
            {
            pushFollow(FOLLOW_rule__T3__Group__0_in_ruleT31060);
            rule__T3__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getT3Access().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleT3"


    // $ANTLR start "entryRuleTypeDich"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:537:1: entryRuleTypeDich : ruleTypeDich EOF ;
    public final void entryRuleTypeDich() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:538:1: ( ruleTypeDich EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:539:1: ruleTypeDich EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTypeDichRule()); 
            }
            pushFollow(FOLLOW_ruleTypeDich_in_entryRuleTypeDich1087);
            ruleTypeDich();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTypeDichRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleTypeDich1094); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTypeDich"


    // $ANTLR start "ruleTypeDich"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:546:1: ruleTypeDich : ( ( rule__TypeDich__Group__0 ) ) ;
    public final void ruleTypeDich() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:550:2: ( ( ( rule__TypeDich__Group__0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:551:1: ( ( rule__TypeDich__Group__0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:551:1: ( ( rule__TypeDich__Group__0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:552:1: ( rule__TypeDich__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTypeDichAccess().getGroup()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:553:1: ( rule__TypeDich__Group__0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:553:2: rule__TypeDich__Group__0
            {
            pushFollow(FOLLOW_rule__TypeDich__Group__0_in_ruleTypeDich1120);
            rule__TypeDich__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getTypeDichAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTypeDich"


    // $ANTLR start "entryRuleTrif"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:565:1: entryRuleTrif : ruleTrif EOF ;
    public final void entryRuleTrif() throws RecognitionException {
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:566:1: ( ruleTrif EOF )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:567:1: ruleTrif EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTrifRule()); 
            }
            pushFollow(FOLLOW_ruleTrif_in_entryRuleTrif1147);
            ruleTrif();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTrifRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleTrif1154); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTrif"


    // $ANTLR start "ruleTrif"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:574:1: ruleTrif : ( ( rule__Trif__NomeAssignment ) ) ;
    public final void ruleTrif() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:578:2: ( ( ( rule__Trif__NomeAssignment ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:579:1: ( ( rule__Trif__NomeAssignment ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:579:1: ( ( rule__Trif__NomeAssignment ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:580:1: ( rule__Trif__NomeAssignment )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTrifAccess().getNomeAssignment()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:581:1: ( rule__Trif__NomeAssignment )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:581:2: rule__Trif__NomeAssignment
            {
            pushFollow(FOLLOW_rule__Trif__NomeAssignment_in_ruleTrif1180);
            rule__Trif__NomeAssignment();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getTrifAccess().getNomeAssignment()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTrif"


    // $ANTLR start "rule__FileSF__Alternatives"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:593:1: rule__FileSF__Alternatives : ( ( ruleProg ) | ( ruleProg1 ) );
    public final void rule__FileSF__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:597:1: ( ( ruleProg ) | ( ruleProg1 ) )
            int alt1=2;
            switch ( input.LA(1) ) {
            case 18:
                {
                int LA1_1 = input.LA(2);

                if ( (synpred1_InternalMyDsl()) ) {
                    alt1=1;
                }
                else if ( (true) ) {
                    alt1=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 1, 1, input);

                    throw nvae;
                }
                }
                break;
            case 15:
                {
                int LA1_2 = input.LA(2);

                if ( (synpred1_InternalMyDsl()) ) {
                    alt1=1;
                }
                else if ( (true) ) {
                    alt1=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 1, 2, input);

                    throw nvae;
                }
                }
                break;
            case 17:
                {
                int LA1_3 = input.LA(2);

                if ( (synpred1_InternalMyDsl()) ) {
                    alt1=1;
                }
                else if ( (true) ) {
                    alt1=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 1, 3, input);

                    throw nvae;
                }
                }
                break;
            case 13:
                {
                alt1=1;
                }
                break;
            case EOF:
                {
                alt1=2;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;
            }

            switch (alt1) {
                case 1 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:598:1: ( ruleProg )
                    {
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:598:1: ( ruleProg )
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:599:1: ruleProg
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getFileSFAccess().getProgParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_ruleProg_in_rule__FileSF__Alternatives1216);
                    ruleProg();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getFileSFAccess().getProgParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:604:6: ( ruleProg1 )
                    {
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:604:6: ( ruleProg1 )
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:605:1: ruleProg1
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getFileSFAccess().getProg1ParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_ruleProg1_in_rule__FileSF__Alternatives1233);
                    ruleProg1();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getFileSFAccess().getProg1ParserRuleCall_1()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FileSF__Alternatives"


    // $ANTLR start "rule__Term__Alternatives"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:615:1: rule__Term__Alternatives : ( ( ruleVar ) | ( ruleAbs ) | ( ruleApp ) | ( ruleUq ) | ( ( ruleTapp ) ) | ( ruleNrif ) | ( ruleLet ) );
    public final void rule__Term__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:619:1: ( ( ruleVar ) | ( ruleAbs ) | ( ruleApp ) | ( ruleUq ) | ( ( ruleTapp ) ) | ( ruleNrif ) | ( ruleLet ) )
            int alt2=7;
            switch ( input.LA(1) ) {
            case RULE_VARIABLE:
                {
                alt2=1;
                }
                break;
            case 23:
                {
                alt2=2;
                }
                break;
            case 25:
                {
                alt2=3;
                }
                break;
            case 27:
                {
                alt2=4;
                }
                break;
            case 29:
                {
                alt2=5;
                }
                break;
            case RULE_ID:
                {
                alt2=6;
                }
                break;
            case 20:
                {
                alt2=7;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }

            switch (alt2) {
                case 1 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:620:1: ( ruleVar )
                    {
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:620:1: ( ruleVar )
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:621:1: ruleVar
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getTermAccess().getVarParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_ruleVar_in_rule__Term__Alternatives1265);
                    ruleVar();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getTermAccess().getVarParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:626:6: ( ruleAbs )
                    {
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:626:6: ( ruleAbs )
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:627:1: ruleAbs
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getTermAccess().getAbsParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_ruleAbs_in_rule__Term__Alternatives1282);
                    ruleAbs();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getTermAccess().getAbsParserRuleCall_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:632:6: ( ruleApp )
                    {
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:632:6: ( ruleApp )
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:633:1: ruleApp
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getTermAccess().getAppParserRuleCall_2()); 
                    }
                    pushFollow(FOLLOW_ruleApp_in_rule__Term__Alternatives1299);
                    ruleApp();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getTermAccess().getAppParserRuleCall_2()); 
                    }

                    }


                    }
                    break;
                case 4 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:638:6: ( ruleUq )
                    {
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:638:6: ( ruleUq )
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:639:1: ruleUq
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getTermAccess().getUqParserRuleCall_3()); 
                    }
                    pushFollow(FOLLOW_ruleUq_in_rule__Term__Alternatives1316);
                    ruleUq();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getTermAccess().getUqParserRuleCall_3()); 
                    }

                    }


                    }
                    break;
                case 5 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:644:6: ( ( ruleTapp ) )
                    {
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:644:6: ( ( ruleTapp ) )
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:645:1: ( ruleTapp )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getTermAccess().getTappParserRuleCall_4()); 
                    }
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:646:1: ( ruleTapp )
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:646:3: ruleTapp
                    {
                    pushFollow(FOLLOW_ruleTapp_in_rule__Term__Alternatives1334);
                    ruleTapp();

                    state._fsp--;
                    if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getTermAccess().getTappParserRuleCall_4()); 
                    }

                    }


                    }
                    break;
                case 6 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:650:6: ( ruleNrif )
                    {
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:650:6: ( ruleNrif )
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:651:1: ruleNrif
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getTermAccess().getNrifParserRuleCall_5()); 
                    }
                    pushFollow(FOLLOW_ruleNrif_in_rule__Term__Alternatives1352);
                    ruleNrif();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getTermAccess().getNrifParserRuleCall_5()); 
                    }

                    }


                    }
                    break;
                case 7 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:656:6: ( ruleLet )
                    {
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:656:6: ( ruleLet )
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:657:1: ruleLet
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getTermAccess().getLetParserRuleCall_6()); 
                    }
                    pushFollow(FOLLOW_ruleLet_in_rule__Term__Alternatives1369);
                    ruleLet();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getTermAccess().getLetParserRuleCall_6()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Term__Alternatives"


    // $ANTLR start "rule__T__Alternatives"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:667:1: rule__T__Alternatives : ( ( ruleT1 ) | ( ruleT2 ) | ( ruleT3 ) | ( ruleTrif ) );
    public final void rule__T__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:671:1: ( ( ruleT1 ) | ( ruleT2 ) | ( ruleT3 ) | ( ruleTrif ) )
            int alt3=4;
            switch ( input.LA(1) ) {
            case RULE_TVAR:
                {
                alt3=1;
                }
                break;
            case 25:
                {
                alt3=2;
                }
                break;
            case 32:
                {
                alt3=3;
                }
                break;
            case RULE_ID:
                {
                alt3=4;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;
            }

            switch (alt3) {
                case 1 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:672:1: ( ruleT1 )
                    {
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:672:1: ( ruleT1 )
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:673:1: ruleT1
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getTAccess().getT1ParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_ruleT1_in_rule__T__Alternatives1401);
                    ruleT1();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getTAccess().getT1ParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:678:6: ( ruleT2 )
                    {
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:678:6: ( ruleT2 )
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:679:1: ruleT2
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getTAccess().getT2ParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_ruleT2_in_rule__T__Alternatives1418);
                    ruleT2();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getTAccess().getT2ParserRuleCall_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:684:6: ( ruleT3 )
                    {
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:684:6: ( ruleT3 )
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:685:1: ruleT3
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getTAccess().getT3ParserRuleCall_2()); 
                    }
                    pushFollow(FOLLOW_ruleT3_in_rule__T__Alternatives1435);
                    ruleT3();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getTAccess().getT3ParserRuleCall_2()); 
                    }

                    }


                    }
                    break;
                case 4 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:690:6: ( ruleTrif )
                    {
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:690:6: ( ruleTrif )
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:691:1: ruleTrif
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getTAccess().getTrifParserRuleCall_3()); 
                    }
                    pushFollow(FOLLOW_ruleTrif_in_rule__T__Alternatives1452);
                    ruleTrif();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getTAccess().getTrifParserRuleCall_3()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T__Alternatives"


    // $ANTLR start "rule__Prog__Group__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:703:1: rule__Prog__Group__0 : rule__Prog__Group__0__Impl rule__Prog__Group__1 ;
    public final void rule__Prog__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:707:1: ( rule__Prog__Group__0__Impl rule__Prog__Group__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:708:2: rule__Prog__Group__0__Impl rule__Prog__Group__1
            {
            pushFollow(FOLLOW_rule__Prog__Group__0__Impl_in_rule__Prog__Group__01482);
            rule__Prog__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog__Group__1_in_rule__Prog__Group__01485);
            rule__Prog__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group__0"


    // $ANTLR start "rule__Prog__Group__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:715:1: rule__Prog__Group__0__Impl : ( ( rule__Prog__ImportListAssignment_0 )? ) ;
    public final void rule__Prog__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:719:1: ( ( ( rule__Prog__ImportListAssignment_0 )? ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:720:1: ( ( rule__Prog__ImportListAssignment_0 )? )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:720:1: ( ( rule__Prog__ImportListAssignment_0 )? )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:721:1: ( rule__Prog__ImportListAssignment_0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getImportListAssignment_0()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:722:1: ( rule__Prog__ImportListAssignment_0 )?
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==18) ) {
                alt4=1;
            }
            switch (alt4) {
                case 1 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:722:2: rule__Prog__ImportListAssignment_0
                    {
                    pushFollow(FOLLOW_rule__Prog__ImportListAssignment_0_in_rule__Prog__Group__0__Impl1512);
                    rule__Prog__ImportListAssignment_0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getImportListAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group__0__Impl"


    // $ANTLR start "rule__Prog__Group__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:732:1: rule__Prog__Group__1 : rule__Prog__Group__1__Impl rule__Prog__Group__2 ;
    public final void rule__Prog__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:736:1: ( rule__Prog__Group__1__Impl rule__Prog__Group__2 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:737:2: rule__Prog__Group__1__Impl rule__Prog__Group__2
            {
            pushFollow(FOLLOW_rule__Prog__Group__1__Impl_in_rule__Prog__Group__11543);
            rule__Prog__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog__Group__2_in_rule__Prog__Group__11546);
            rule__Prog__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group__1"


    // $ANTLR start "rule__Prog__Group__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:744:1: rule__Prog__Group__1__Impl : ( ( rule__Prog__Group_1__0 )? ) ;
    public final void rule__Prog__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:748:1: ( ( ( rule__Prog__Group_1__0 )? ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:749:1: ( ( rule__Prog__Group_1__0 )? )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:749:1: ( ( rule__Prog__Group_1__0 )? )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:750:1: ( rule__Prog__Group_1__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getGroup_1()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:751:1: ( rule__Prog__Group_1__0 )?
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( (LA5_0==15) ) {
                alt5=1;
            }
            switch (alt5) {
                case 1 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:751:2: rule__Prog__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__Prog__Group_1__0_in_rule__Prog__Group__1__Impl1573);
                    rule__Prog__Group_1__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group__1__Impl"


    // $ANTLR start "rule__Prog__Group__2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:761:1: rule__Prog__Group__2 : rule__Prog__Group__2__Impl rule__Prog__Group__3 ;
    public final void rule__Prog__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:765:1: ( rule__Prog__Group__2__Impl rule__Prog__Group__3 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:766:2: rule__Prog__Group__2__Impl rule__Prog__Group__3
            {
            pushFollow(FOLLOW_rule__Prog__Group__2__Impl_in_rule__Prog__Group__21604);
            rule__Prog__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog__Group__3_in_rule__Prog__Group__21607);
            rule__Prog__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group__2"


    // $ANTLR start "rule__Prog__Group__2__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:773:1: rule__Prog__Group__2__Impl : ( ( rule__Prog__Group_2__0 )? ) ;
    public final void rule__Prog__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:777:1: ( ( ( rule__Prog__Group_2__0 )? ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:778:1: ( ( rule__Prog__Group_2__0 )? )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:778:1: ( ( rule__Prog__Group_2__0 )? )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:779:1: ( rule__Prog__Group_2__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getGroup_2()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:780:1: ( rule__Prog__Group_2__0 )?
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0==17) ) {
                alt6=1;
            }
            switch (alt6) {
                case 1 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:780:2: rule__Prog__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__Prog__Group_2__0_in_rule__Prog__Group__2__Impl1634);
                    rule__Prog__Group_2__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getGroup_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group__2__Impl"


    // $ANTLR start "rule__Prog__Group__3"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:790:1: rule__Prog__Group__3 : rule__Prog__Group__3__Impl rule__Prog__Group__4 ;
    public final void rule__Prog__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:794:1: ( rule__Prog__Group__3__Impl rule__Prog__Group__4 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:795:2: rule__Prog__Group__3__Impl rule__Prog__Group__4
            {
            pushFollow(FOLLOW_rule__Prog__Group__3__Impl_in_rule__Prog__Group__31665);
            rule__Prog__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog__Group__4_in_rule__Prog__Group__31668);
            rule__Prog__Group__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group__3"


    // $ANTLR start "rule__Prog__Group__3__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:802:1: rule__Prog__Group__3__Impl : ( 'Main{' ) ;
    public final void rule__Prog__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:806:1: ( ( 'Main{' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:807:1: ( 'Main{' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:807:1: ( 'Main{' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:808:1: 'Main{'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getMainKeyword_3()); 
            }
            match(input,13,FOLLOW_13_in_rule__Prog__Group__3__Impl1696); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getMainKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group__3__Impl"


    // $ANTLR start "rule__Prog__Group__4"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:821:1: rule__Prog__Group__4 : rule__Prog__Group__4__Impl rule__Prog__Group__5 ;
    public final void rule__Prog__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:825:1: ( rule__Prog__Group__4__Impl rule__Prog__Group__5 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:826:2: rule__Prog__Group__4__Impl rule__Prog__Group__5
            {
            pushFollow(FOLLOW_rule__Prog__Group__4__Impl_in_rule__Prog__Group__41727);
            rule__Prog__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog__Group__5_in_rule__Prog__Group__41730);
            rule__Prog__Group__5();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group__4"


    // $ANTLR start "rule__Prog__Group__4__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:833:1: rule__Prog__Group__4__Impl : ( ( rule__Prog__MainAssignment_4 ) ) ;
    public final void rule__Prog__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:837:1: ( ( ( rule__Prog__MainAssignment_4 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:838:1: ( ( rule__Prog__MainAssignment_4 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:838:1: ( ( rule__Prog__MainAssignment_4 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:839:1: ( rule__Prog__MainAssignment_4 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getMainAssignment_4()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:840:1: ( rule__Prog__MainAssignment_4 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:840:2: rule__Prog__MainAssignment_4
            {
            pushFollow(FOLLOW_rule__Prog__MainAssignment_4_in_rule__Prog__Group__4__Impl1757);
            rule__Prog__MainAssignment_4();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getMainAssignment_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group__4__Impl"


    // $ANTLR start "rule__Prog__Group__5"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:850:1: rule__Prog__Group__5 : rule__Prog__Group__5__Impl ;
    public final void rule__Prog__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:854:1: ( rule__Prog__Group__5__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:855:2: rule__Prog__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__Prog__Group__5__Impl_in_rule__Prog__Group__51787);
            rule__Prog__Group__5__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group__5"


    // $ANTLR start "rule__Prog__Group__5__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:861:1: rule__Prog__Group__5__Impl : ( '}' ) ;
    public final void rule__Prog__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:865:1: ( ( '}' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:866:1: ( '}' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:866:1: ( '}' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:867:1: '}'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getRightCurlyBracketKeyword_5()); 
            }
            match(input,14,FOLLOW_14_in_rule__Prog__Group__5__Impl1815); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getRightCurlyBracketKeyword_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group__5__Impl"


    // $ANTLR start "rule__Prog__Group_1__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:892:1: rule__Prog__Group_1__0 : rule__Prog__Group_1__0__Impl rule__Prog__Group_1__1 ;
    public final void rule__Prog__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:896:1: ( rule__Prog__Group_1__0__Impl rule__Prog__Group_1__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:897:2: rule__Prog__Group_1__0__Impl rule__Prog__Group_1__1
            {
            pushFollow(FOLLOW_rule__Prog__Group_1__0__Impl_in_rule__Prog__Group_1__01858);
            rule__Prog__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog__Group_1__1_in_rule__Prog__Group_1__01861);
            rule__Prog__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_1__0"


    // $ANTLR start "rule__Prog__Group_1__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:904:1: rule__Prog__Group_1__0__Impl : ( 'Types{' ) ;
    public final void rule__Prog__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:908:1: ( ( 'Types{' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:909:1: ( 'Types{' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:909:1: ( 'Types{' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:910:1: 'Types{'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getTypesKeyword_1_0()); 
            }
            match(input,15,FOLLOW_15_in_rule__Prog__Group_1__0__Impl1889); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getTypesKeyword_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_1__0__Impl"


    // $ANTLR start "rule__Prog__Group_1__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:923:1: rule__Prog__Group_1__1 : rule__Prog__Group_1__1__Impl rule__Prog__Group_1__2 ;
    public final void rule__Prog__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:927:1: ( rule__Prog__Group_1__1__Impl rule__Prog__Group_1__2 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:928:2: rule__Prog__Group_1__1__Impl rule__Prog__Group_1__2
            {
            pushFollow(FOLLOW_rule__Prog__Group_1__1__Impl_in_rule__Prog__Group_1__11920);
            rule__Prog__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog__Group_1__2_in_rule__Prog__Group_1__11923);
            rule__Prog__Group_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_1__1"


    // $ANTLR start "rule__Prog__Group_1__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:935:1: rule__Prog__Group_1__1__Impl : ( ( rule__Prog__Group_1_1__0 )* ) ;
    public final void rule__Prog__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:939:1: ( ( ( rule__Prog__Group_1_1__0 )* ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:940:1: ( ( rule__Prog__Group_1_1__0 )* )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:940:1: ( ( rule__Prog__Group_1_1__0 )* )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:941:1: ( rule__Prog__Group_1_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getGroup_1_1()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:942:1: ( rule__Prog__Group_1_1__0 )*
            loop7:
            do {
                int alt7=2;
                int LA7_0 = input.LA(1);

                if ( (LA7_0==RULE_ID) ) {
                    alt7=1;
                }


                switch (alt7) {
            	case 1 :
            	    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:942:2: rule__Prog__Group_1_1__0
            	    {
            	    pushFollow(FOLLOW_rule__Prog__Group_1_1__0_in_rule__Prog__Group_1__1__Impl1950);
            	    rule__Prog__Group_1_1__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop7;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getGroup_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_1__1__Impl"


    // $ANTLR start "rule__Prog__Group_1__2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:952:1: rule__Prog__Group_1__2 : rule__Prog__Group_1__2__Impl ;
    public final void rule__Prog__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:956:1: ( rule__Prog__Group_1__2__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:957:2: rule__Prog__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__Prog__Group_1__2__Impl_in_rule__Prog__Group_1__21981);
            rule__Prog__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_1__2"


    // $ANTLR start "rule__Prog__Group_1__2__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:963:1: rule__Prog__Group_1__2__Impl : ( '}' ) ;
    public final void rule__Prog__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:967:1: ( ( '}' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:968:1: ( '}' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:968:1: ( '}' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:969:1: '}'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getRightCurlyBracketKeyword_1_2()); 
            }
            match(input,14,FOLLOW_14_in_rule__Prog__Group_1__2__Impl2009); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getRightCurlyBracketKeyword_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_1__2__Impl"


    // $ANTLR start "rule__Prog__Group_1_1__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:988:1: rule__Prog__Group_1_1__0 : rule__Prog__Group_1_1__0__Impl rule__Prog__Group_1_1__1 ;
    public final void rule__Prog__Group_1_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:992:1: ( rule__Prog__Group_1_1__0__Impl rule__Prog__Group_1_1__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:993:2: rule__Prog__Group_1_1__0__Impl rule__Prog__Group_1_1__1
            {
            pushFollow(FOLLOW_rule__Prog__Group_1_1__0__Impl_in_rule__Prog__Group_1_1__02046);
            rule__Prog__Group_1_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog__Group_1_1__1_in_rule__Prog__Group_1_1__02049);
            rule__Prog__Group_1_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_1_1__0"


    // $ANTLR start "rule__Prog__Group_1_1__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1000:1: rule__Prog__Group_1_1__0__Impl : ( ( rule__Prog__TdAssignment_1_1_0 ) ) ;
    public final void rule__Prog__Group_1_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1004:1: ( ( ( rule__Prog__TdAssignment_1_1_0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1005:1: ( ( rule__Prog__TdAssignment_1_1_0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1005:1: ( ( rule__Prog__TdAssignment_1_1_0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1006:1: ( rule__Prog__TdAssignment_1_1_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getTdAssignment_1_1_0()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1007:1: ( rule__Prog__TdAssignment_1_1_0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1007:2: rule__Prog__TdAssignment_1_1_0
            {
            pushFollow(FOLLOW_rule__Prog__TdAssignment_1_1_0_in_rule__Prog__Group_1_1__0__Impl2076);
            rule__Prog__TdAssignment_1_1_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getTdAssignment_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_1_1__0__Impl"


    // $ANTLR start "rule__Prog__Group_1_1__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1017:1: rule__Prog__Group_1_1__1 : rule__Prog__Group_1_1__1__Impl ;
    public final void rule__Prog__Group_1_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1021:1: ( rule__Prog__Group_1_1__1__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1022:2: rule__Prog__Group_1_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Prog__Group_1_1__1__Impl_in_rule__Prog__Group_1_1__12106);
            rule__Prog__Group_1_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_1_1__1"


    // $ANTLR start "rule__Prog__Group_1_1__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1028:1: rule__Prog__Group_1_1__1__Impl : ( ';' ) ;
    public final void rule__Prog__Group_1_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1032:1: ( ( ';' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1033:1: ( ';' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1033:1: ( ';' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1034:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getSemicolonKeyword_1_1_1()); 
            }
            match(input,16,FOLLOW_16_in_rule__Prog__Group_1_1__1__Impl2134); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getSemicolonKeyword_1_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_1_1__1__Impl"


    // $ANTLR start "rule__Prog__Group_2__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1051:1: rule__Prog__Group_2__0 : rule__Prog__Group_2__0__Impl rule__Prog__Group_2__1 ;
    public final void rule__Prog__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1055:1: ( rule__Prog__Group_2__0__Impl rule__Prog__Group_2__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1056:2: rule__Prog__Group_2__0__Impl rule__Prog__Group_2__1
            {
            pushFollow(FOLLOW_rule__Prog__Group_2__0__Impl_in_rule__Prog__Group_2__02169);
            rule__Prog__Group_2__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog__Group_2__1_in_rule__Prog__Group_2__02172);
            rule__Prog__Group_2__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_2__0"


    // $ANTLR start "rule__Prog__Group_2__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1063:1: rule__Prog__Group_2__0__Impl : ( 'Declarations{' ) ;
    public final void rule__Prog__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1067:1: ( ( 'Declarations{' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1068:1: ( 'Declarations{' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1068:1: ( 'Declarations{' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1069:1: 'Declarations{'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getDeclarationsKeyword_2_0()); 
            }
            match(input,17,FOLLOW_17_in_rule__Prog__Group_2__0__Impl2200); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getDeclarationsKeyword_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_2__0__Impl"


    // $ANTLR start "rule__Prog__Group_2__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1082:1: rule__Prog__Group_2__1 : rule__Prog__Group_2__1__Impl rule__Prog__Group_2__2 ;
    public final void rule__Prog__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1086:1: ( rule__Prog__Group_2__1__Impl rule__Prog__Group_2__2 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1087:2: rule__Prog__Group_2__1__Impl rule__Prog__Group_2__2
            {
            pushFollow(FOLLOW_rule__Prog__Group_2__1__Impl_in_rule__Prog__Group_2__12231);
            rule__Prog__Group_2__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog__Group_2__2_in_rule__Prog__Group_2__12234);
            rule__Prog__Group_2__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_2__1"


    // $ANTLR start "rule__Prog__Group_2__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1094:1: rule__Prog__Group_2__1__Impl : ( ( rule__Prog__Group_2_1__0 )* ) ;
    public final void rule__Prog__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1098:1: ( ( ( rule__Prog__Group_2_1__0 )* ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1099:1: ( ( rule__Prog__Group_2_1__0 )* )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1099:1: ( ( rule__Prog__Group_2_1__0 )* )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1100:1: ( rule__Prog__Group_2_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getGroup_2_1()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1101:1: ( rule__Prog__Group_2_1__0 )*
            loop8:
            do {
                int alt8=2;
                int LA8_0 = input.LA(1);

                if ( (LA8_0==RULE_ID) ) {
                    alt8=1;
                }


                switch (alt8) {
            	case 1 :
            	    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1101:2: rule__Prog__Group_2_1__0
            	    {
            	    pushFollow(FOLLOW_rule__Prog__Group_2_1__0_in_rule__Prog__Group_2__1__Impl2261);
            	    rule__Prog__Group_2_1__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop8;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getGroup_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_2__1__Impl"


    // $ANTLR start "rule__Prog__Group_2__2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1111:1: rule__Prog__Group_2__2 : rule__Prog__Group_2__2__Impl ;
    public final void rule__Prog__Group_2__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1115:1: ( rule__Prog__Group_2__2__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1116:2: rule__Prog__Group_2__2__Impl
            {
            pushFollow(FOLLOW_rule__Prog__Group_2__2__Impl_in_rule__Prog__Group_2__22292);
            rule__Prog__Group_2__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_2__2"


    // $ANTLR start "rule__Prog__Group_2__2__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1122:1: rule__Prog__Group_2__2__Impl : ( '}' ) ;
    public final void rule__Prog__Group_2__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1126:1: ( ( '}' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1127:1: ( '}' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1127:1: ( '}' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1128:1: '}'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getRightCurlyBracketKeyword_2_2()); 
            }
            match(input,14,FOLLOW_14_in_rule__Prog__Group_2__2__Impl2320); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getRightCurlyBracketKeyword_2_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_2__2__Impl"


    // $ANTLR start "rule__Prog__Group_2_1__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1147:1: rule__Prog__Group_2_1__0 : rule__Prog__Group_2_1__0__Impl rule__Prog__Group_2_1__1 ;
    public final void rule__Prog__Group_2_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1151:1: ( rule__Prog__Group_2_1__0__Impl rule__Prog__Group_2_1__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1152:2: rule__Prog__Group_2_1__0__Impl rule__Prog__Group_2_1__1
            {
            pushFollow(FOLLOW_rule__Prog__Group_2_1__0__Impl_in_rule__Prog__Group_2_1__02357);
            rule__Prog__Group_2_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog__Group_2_1__1_in_rule__Prog__Group_2_1__02360);
            rule__Prog__Group_2_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_2_1__0"


    // $ANTLR start "rule__Prog__Group_2_1__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1159:1: rule__Prog__Group_2_1__0__Impl : ( ( rule__Prog__DAssignment_2_1_0 ) ) ;
    public final void rule__Prog__Group_2_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1163:1: ( ( ( rule__Prog__DAssignment_2_1_0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1164:1: ( ( rule__Prog__DAssignment_2_1_0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1164:1: ( ( rule__Prog__DAssignment_2_1_0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1165:1: ( rule__Prog__DAssignment_2_1_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getDAssignment_2_1_0()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1166:1: ( rule__Prog__DAssignment_2_1_0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1166:2: rule__Prog__DAssignment_2_1_0
            {
            pushFollow(FOLLOW_rule__Prog__DAssignment_2_1_0_in_rule__Prog__Group_2_1__0__Impl2387);
            rule__Prog__DAssignment_2_1_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getDAssignment_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_2_1__0__Impl"


    // $ANTLR start "rule__Prog__Group_2_1__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1176:1: rule__Prog__Group_2_1__1 : rule__Prog__Group_2_1__1__Impl ;
    public final void rule__Prog__Group_2_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1180:1: ( rule__Prog__Group_2_1__1__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1181:2: rule__Prog__Group_2_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Prog__Group_2_1__1__Impl_in_rule__Prog__Group_2_1__12417);
            rule__Prog__Group_2_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_2_1__1"


    // $ANTLR start "rule__Prog__Group_2_1__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1187:1: rule__Prog__Group_2_1__1__Impl : ( ';' ) ;
    public final void rule__Prog__Group_2_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1191:1: ( ( ';' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1192:1: ( ';' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1192:1: ( ';' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1193:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getSemicolonKeyword_2_1_1()); 
            }
            match(input,16,FOLLOW_16_in_rule__Prog__Group_2_1__1__Impl2445); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getSemicolonKeyword_2_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__Group_2_1__1__Impl"


    // $ANTLR start "rule__Prog1__Group__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1210:1: rule__Prog1__Group__0 : rule__Prog1__Group__0__Impl rule__Prog1__Group__1 ;
    public final void rule__Prog1__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1214:1: ( rule__Prog1__Group__0__Impl rule__Prog1__Group__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1215:2: rule__Prog1__Group__0__Impl rule__Prog1__Group__1
            {
            pushFollow(FOLLOW_rule__Prog1__Group__0__Impl_in_rule__Prog1__Group__02480);
            rule__Prog1__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog1__Group__1_in_rule__Prog1__Group__02483);
            rule__Prog1__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group__0"


    // $ANTLR start "rule__Prog1__Group__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1222:1: rule__Prog1__Group__0__Impl : ( ( rule__Prog1__ImportListAssignment_0 )? ) ;
    public final void rule__Prog1__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1226:1: ( ( ( rule__Prog1__ImportListAssignment_0 )? ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1227:1: ( ( rule__Prog1__ImportListAssignment_0 )? )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1227:1: ( ( rule__Prog1__ImportListAssignment_0 )? )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1228:1: ( rule__Prog1__ImportListAssignment_0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProg1Access().getImportListAssignment_0()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1229:1: ( rule__Prog1__ImportListAssignment_0 )?
            int alt9=2;
            int LA9_0 = input.LA(1);

            if ( (LA9_0==18) ) {
                alt9=1;
            }
            switch (alt9) {
                case 1 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1229:2: rule__Prog1__ImportListAssignment_0
                    {
                    pushFollow(FOLLOW_rule__Prog1__ImportListAssignment_0_in_rule__Prog1__Group__0__Impl2510);
                    rule__Prog1__ImportListAssignment_0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getProg1Access().getImportListAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group__0__Impl"


    // $ANTLR start "rule__Prog1__Group__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1239:1: rule__Prog1__Group__1 : rule__Prog1__Group__1__Impl rule__Prog1__Group__2 ;
    public final void rule__Prog1__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1243:1: ( rule__Prog1__Group__1__Impl rule__Prog1__Group__2 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1244:2: rule__Prog1__Group__1__Impl rule__Prog1__Group__2
            {
            pushFollow(FOLLOW_rule__Prog1__Group__1__Impl_in_rule__Prog1__Group__12541);
            rule__Prog1__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog1__Group__2_in_rule__Prog1__Group__12544);
            rule__Prog1__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group__1"


    // $ANTLR start "rule__Prog1__Group__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1251:1: rule__Prog1__Group__1__Impl : ( ( rule__Prog1__Group_1__0 )? ) ;
    public final void rule__Prog1__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1255:1: ( ( ( rule__Prog1__Group_1__0 )? ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1256:1: ( ( rule__Prog1__Group_1__0 )? )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1256:1: ( ( rule__Prog1__Group_1__0 )? )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1257:1: ( rule__Prog1__Group_1__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProg1Access().getGroup_1()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1258:1: ( rule__Prog1__Group_1__0 )?
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( (LA10_0==15) ) {
                alt10=1;
            }
            switch (alt10) {
                case 1 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1258:2: rule__Prog1__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__Prog1__Group_1__0_in_rule__Prog1__Group__1__Impl2571);
                    rule__Prog1__Group_1__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getProg1Access().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group__1__Impl"


    // $ANTLR start "rule__Prog1__Group__2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1268:1: rule__Prog1__Group__2 : rule__Prog1__Group__2__Impl ;
    public final void rule__Prog1__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1272:1: ( rule__Prog1__Group__2__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1273:2: rule__Prog1__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Prog1__Group__2__Impl_in_rule__Prog1__Group__22602);
            rule__Prog1__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group__2"


    // $ANTLR start "rule__Prog1__Group__2__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1279:1: rule__Prog1__Group__2__Impl : ( ( rule__Prog1__Group_2__0 )? ) ;
    public final void rule__Prog1__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1283:1: ( ( ( rule__Prog1__Group_2__0 )? ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1284:1: ( ( rule__Prog1__Group_2__0 )? )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1284:1: ( ( rule__Prog1__Group_2__0 )? )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1285:1: ( rule__Prog1__Group_2__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProg1Access().getGroup_2()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1286:1: ( rule__Prog1__Group_2__0 )?
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( (LA11_0==17) ) {
                alt11=1;
            }
            switch (alt11) {
                case 1 :
                    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1286:2: rule__Prog1__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__Prog1__Group_2__0_in_rule__Prog1__Group__2__Impl2629);
                    rule__Prog1__Group_2__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getProg1Access().getGroup_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group__2__Impl"


    // $ANTLR start "rule__Prog1__Group_1__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1302:1: rule__Prog1__Group_1__0 : rule__Prog1__Group_1__0__Impl rule__Prog1__Group_1__1 ;
    public final void rule__Prog1__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1306:1: ( rule__Prog1__Group_1__0__Impl rule__Prog1__Group_1__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1307:2: rule__Prog1__Group_1__0__Impl rule__Prog1__Group_1__1
            {
            pushFollow(FOLLOW_rule__Prog1__Group_1__0__Impl_in_rule__Prog1__Group_1__02666);
            rule__Prog1__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog1__Group_1__1_in_rule__Prog1__Group_1__02669);
            rule__Prog1__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_1__0"


    // $ANTLR start "rule__Prog1__Group_1__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1314:1: rule__Prog1__Group_1__0__Impl : ( 'Types{' ) ;
    public final void rule__Prog1__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1318:1: ( ( 'Types{' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1319:1: ( 'Types{' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1319:1: ( 'Types{' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1320:1: 'Types{'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProg1Access().getTypesKeyword_1_0()); 
            }
            match(input,15,FOLLOW_15_in_rule__Prog1__Group_1__0__Impl2697); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProg1Access().getTypesKeyword_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_1__0__Impl"


    // $ANTLR start "rule__Prog1__Group_1__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1333:1: rule__Prog1__Group_1__1 : rule__Prog1__Group_1__1__Impl rule__Prog1__Group_1__2 ;
    public final void rule__Prog1__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1337:1: ( rule__Prog1__Group_1__1__Impl rule__Prog1__Group_1__2 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1338:2: rule__Prog1__Group_1__1__Impl rule__Prog1__Group_1__2
            {
            pushFollow(FOLLOW_rule__Prog1__Group_1__1__Impl_in_rule__Prog1__Group_1__12728);
            rule__Prog1__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog1__Group_1__2_in_rule__Prog1__Group_1__12731);
            rule__Prog1__Group_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_1__1"


    // $ANTLR start "rule__Prog1__Group_1__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1345:1: rule__Prog1__Group_1__1__Impl : ( ( rule__Prog1__Group_1_1__0 )* ) ;
    public final void rule__Prog1__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1349:1: ( ( ( rule__Prog1__Group_1_1__0 )* ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1350:1: ( ( rule__Prog1__Group_1_1__0 )* )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1350:1: ( ( rule__Prog1__Group_1_1__0 )* )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1351:1: ( rule__Prog1__Group_1_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProg1Access().getGroup_1_1()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1352:1: ( rule__Prog1__Group_1_1__0 )*
            loop12:
            do {
                int alt12=2;
                int LA12_0 = input.LA(1);

                if ( (LA12_0==RULE_ID) ) {
                    alt12=1;
                }


                switch (alt12) {
            	case 1 :
            	    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1352:2: rule__Prog1__Group_1_1__0
            	    {
            	    pushFollow(FOLLOW_rule__Prog1__Group_1_1__0_in_rule__Prog1__Group_1__1__Impl2758);
            	    rule__Prog1__Group_1_1__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop12;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getProg1Access().getGroup_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_1__1__Impl"


    // $ANTLR start "rule__Prog1__Group_1__2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1362:1: rule__Prog1__Group_1__2 : rule__Prog1__Group_1__2__Impl ;
    public final void rule__Prog1__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1366:1: ( rule__Prog1__Group_1__2__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1367:2: rule__Prog1__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__Prog1__Group_1__2__Impl_in_rule__Prog1__Group_1__22789);
            rule__Prog1__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_1__2"


    // $ANTLR start "rule__Prog1__Group_1__2__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1373:1: rule__Prog1__Group_1__2__Impl : ( '}' ) ;
    public final void rule__Prog1__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1377:1: ( ( '}' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1378:1: ( '}' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1378:1: ( '}' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1379:1: '}'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProg1Access().getRightCurlyBracketKeyword_1_2()); 
            }
            match(input,14,FOLLOW_14_in_rule__Prog1__Group_1__2__Impl2817); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProg1Access().getRightCurlyBracketKeyword_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_1__2__Impl"


    // $ANTLR start "rule__Prog1__Group_1_1__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1398:1: rule__Prog1__Group_1_1__0 : rule__Prog1__Group_1_1__0__Impl rule__Prog1__Group_1_1__1 ;
    public final void rule__Prog1__Group_1_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1402:1: ( rule__Prog1__Group_1_1__0__Impl rule__Prog1__Group_1_1__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1403:2: rule__Prog1__Group_1_1__0__Impl rule__Prog1__Group_1_1__1
            {
            pushFollow(FOLLOW_rule__Prog1__Group_1_1__0__Impl_in_rule__Prog1__Group_1_1__02854);
            rule__Prog1__Group_1_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog1__Group_1_1__1_in_rule__Prog1__Group_1_1__02857);
            rule__Prog1__Group_1_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_1_1__0"


    // $ANTLR start "rule__Prog1__Group_1_1__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1410:1: rule__Prog1__Group_1_1__0__Impl : ( ( rule__Prog1__TdAssignment_1_1_0 ) ) ;
    public final void rule__Prog1__Group_1_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1414:1: ( ( ( rule__Prog1__TdAssignment_1_1_0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1415:1: ( ( rule__Prog1__TdAssignment_1_1_0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1415:1: ( ( rule__Prog1__TdAssignment_1_1_0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1416:1: ( rule__Prog1__TdAssignment_1_1_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProg1Access().getTdAssignment_1_1_0()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1417:1: ( rule__Prog1__TdAssignment_1_1_0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1417:2: rule__Prog1__TdAssignment_1_1_0
            {
            pushFollow(FOLLOW_rule__Prog1__TdAssignment_1_1_0_in_rule__Prog1__Group_1_1__0__Impl2884);
            rule__Prog1__TdAssignment_1_1_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getProg1Access().getTdAssignment_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_1_1__0__Impl"


    // $ANTLR start "rule__Prog1__Group_1_1__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1427:1: rule__Prog1__Group_1_1__1 : rule__Prog1__Group_1_1__1__Impl ;
    public final void rule__Prog1__Group_1_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1431:1: ( rule__Prog1__Group_1_1__1__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1432:2: rule__Prog1__Group_1_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Prog1__Group_1_1__1__Impl_in_rule__Prog1__Group_1_1__12914);
            rule__Prog1__Group_1_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_1_1__1"


    // $ANTLR start "rule__Prog1__Group_1_1__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1438:1: rule__Prog1__Group_1_1__1__Impl : ( ';' ) ;
    public final void rule__Prog1__Group_1_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1442:1: ( ( ';' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1443:1: ( ';' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1443:1: ( ';' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1444:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProg1Access().getSemicolonKeyword_1_1_1()); 
            }
            match(input,16,FOLLOW_16_in_rule__Prog1__Group_1_1__1__Impl2942); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProg1Access().getSemicolonKeyword_1_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_1_1__1__Impl"


    // $ANTLR start "rule__Prog1__Group_2__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1461:1: rule__Prog1__Group_2__0 : rule__Prog1__Group_2__0__Impl rule__Prog1__Group_2__1 ;
    public final void rule__Prog1__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1465:1: ( rule__Prog1__Group_2__0__Impl rule__Prog1__Group_2__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1466:2: rule__Prog1__Group_2__0__Impl rule__Prog1__Group_2__1
            {
            pushFollow(FOLLOW_rule__Prog1__Group_2__0__Impl_in_rule__Prog1__Group_2__02977);
            rule__Prog1__Group_2__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog1__Group_2__1_in_rule__Prog1__Group_2__02980);
            rule__Prog1__Group_2__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_2__0"


    // $ANTLR start "rule__Prog1__Group_2__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1473:1: rule__Prog1__Group_2__0__Impl : ( 'Declarations{' ) ;
    public final void rule__Prog1__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1477:1: ( ( 'Declarations{' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1478:1: ( 'Declarations{' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1478:1: ( 'Declarations{' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1479:1: 'Declarations{'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProg1Access().getDeclarationsKeyword_2_0()); 
            }
            match(input,17,FOLLOW_17_in_rule__Prog1__Group_2__0__Impl3008); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProg1Access().getDeclarationsKeyword_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_2__0__Impl"


    // $ANTLR start "rule__Prog1__Group_2__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1492:1: rule__Prog1__Group_2__1 : rule__Prog1__Group_2__1__Impl rule__Prog1__Group_2__2 ;
    public final void rule__Prog1__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1496:1: ( rule__Prog1__Group_2__1__Impl rule__Prog1__Group_2__2 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1497:2: rule__Prog1__Group_2__1__Impl rule__Prog1__Group_2__2
            {
            pushFollow(FOLLOW_rule__Prog1__Group_2__1__Impl_in_rule__Prog1__Group_2__13039);
            rule__Prog1__Group_2__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog1__Group_2__2_in_rule__Prog1__Group_2__13042);
            rule__Prog1__Group_2__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_2__1"


    // $ANTLR start "rule__Prog1__Group_2__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1504:1: rule__Prog1__Group_2__1__Impl : ( ( rule__Prog1__Group_2_1__0 )* ) ;
    public final void rule__Prog1__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1508:1: ( ( ( rule__Prog1__Group_2_1__0 )* ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1509:1: ( ( rule__Prog1__Group_2_1__0 )* )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1509:1: ( ( rule__Prog1__Group_2_1__0 )* )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1510:1: ( rule__Prog1__Group_2_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProg1Access().getGroup_2_1()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1511:1: ( rule__Prog1__Group_2_1__0 )*
            loop13:
            do {
                int alt13=2;
                int LA13_0 = input.LA(1);

                if ( (LA13_0==RULE_ID) ) {
                    alt13=1;
                }


                switch (alt13) {
            	case 1 :
            	    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1511:2: rule__Prog1__Group_2_1__0
            	    {
            	    pushFollow(FOLLOW_rule__Prog1__Group_2_1__0_in_rule__Prog1__Group_2__1__Impl3069);
            	    rule__Prog1__Group_2_1__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop13;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getProg1Access().getGroup_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_2__1__Impl"


    // $ANTLR start "rule__Prog1__Group_2__2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1521:1: rule__Prog1__Group_2__2 : rule__Prog1__Group_2__2__Impl ;
    public final void rule__Prog1__Group_2__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1525:1: ( rule__Prog1__Group_2__2__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1526:2: rule__Prog1__Group_2__2__Impl
            {
            pushFollow(FOLLOW_rule__Prog1__Group_2__2__Impl_in_rule__Prog1__Group_2__23100);
            rule__Prog1__Group_2__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_2__2"


    // $ANTLR start "rule__Prog1__Group_2__2__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1532:1: rule__Prog1__Group_2__2__Impl : ( '}' ) ;
    public final void rule__Prog1__Group_2__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1536:1: ( ( '}' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1537:1: ( '}' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1537:1: ( '}' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1538:1: '}'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProg1Access().getRightCurlyBracketKeyword_2_2()); 
            }
            match(input,14,FOLLOW_14_in_rule__Prog1__Group_2__2__Impl3128); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProg1Access().getRightCurlyBracketKeyword_2_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_2__2__Impl"


    // $ANTLR start "rule__Prog1__Group_2_1__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1557:1: rule__Prog1__Group_2_1__0 : rule__Prog1__Group_2_1__0__Impl rule__Prog1__Group_2_1__1 ;
    public final void rule__Prog1__Group_2_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1561:1: ( rule__Prog1__Group_2_1__0__Impl rule__Prog1__Group_2_1__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1562:2: rule__Prog1__Group_2_1__0__Impl rule__Prog1__Group_2_1__1
            {
            pushFollow(FOLLOW_rule__Prog1__Group_2_1__0__Impl_in_rule__Prog1__Group_2_1__03165);
            rule__Prog1__Group_2_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Prog1__Group_2_1__1_in_rule__Prog1__Group_2_1__03168);
            rule__Prog1__Group_2_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_2_1__0"


    // $ANTLR start "rule__Prog1__Group_2_1__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1569:1: rule__Prog1__Group_2_1__0__Impl : ( ( rule__Prog1__DAssignment_2_1_0 ) ) ;
    public final void rule__Prog1__Group_2_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1573:1: ( ( ( rule__Prog1__DAssignment_2_1_0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1574:1: ( ( rule__Prog1__DAssignment_2_1_0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1574:1: ( ( rule__Prog1__DAssignment_2_1_0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1575:1: ( rule__Prog1__DAssignment_2_1_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProg1Access().getDAssignment_2_1_0()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1576:1: ( rule__Prog1__DAssignment_2_1_0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1576:2: rule__Prog1__DAssignment_2_1_0
            {
            pushFollow(FOLLOW_rule__Prog1__DAssignment_2_1_0_in_rule__Prog1__Group_2_1__0__Impl3195);
            rule__Prog1__DAssignment_2_1_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getProg1Access().getDAssignment_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_2_1__0__Impl"


    // $ANTLR start "rule__Prog1__Group_2_1__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1586:1: rule__Prog1__Group_2_1__1 : rule__Prog1__Group_2_1__1__Impl ;
    public final void rule__Prog1__Group_2_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1590:1: ( rule__Prog1__Group_2_1__1__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1591:2: rule__Prog1__Group_2_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Prog1__Group_2_1__1__Impl_in_rule__Prog1__Group_2_1__13225);
            rule__Prog1__Group_2_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_2_1__1"


    // $ANTLR start "rule__Prog1__Group_2_1__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1597:1: rule__Prog1__Group_2_1__1__Impl : ( ';' ) ;
    public final void rule__Prog1__Group_2_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1601:1: ( ( ';' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1602:1: ( ';' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1602:1: ( ';' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1603:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProg1Access().getSemicolonKeyword_2_1_1()); 
            }
            match(input,16,FOLLOW_16_in_rule__Prog1__Group_2_1__1__Impl3253); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProg1Access().getSemicolonKeyword_2_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__Group_2_1__1__Impl"


    // $ANTLR start "rule__Import__Group__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1620:1: rule__Import__Group__0 : rule__Import__Group__0__Impl rule__Import__Group__1 ;
    public final void rule__Import__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1624:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1625:2: rule__Import__Group__0__Impl rule__Import__Group__1
            {
            pushFollow(FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__03288);
            rule__Import__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Import__Group__1_in_rule__Import__Group__03291);
            rule__Import__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Import__Group__0"


    // $ANTLR start "rule__Import__Group__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1632:1: rule__Import__Group__0__Impl : ( 'import' ) ;
    public final void rule__Import__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1636:1: ( ( 'import' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1637:1: ( 'import' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1637:1: ( 'import' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1638:1: 'import'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getImportAccess().getImportKeyword_0()); 
            }
            match(input,18,FOLLOW_18_in_rule__Import__Group__0__Impl3319); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getImportAccess().getImportKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Import__Group__0__Impl"


    // $ANTLR start "rule__Import__Group__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1651:1: rule__Import__Group__1 : rule__Import__Group__1__Impl ;
    public final void rule__Import__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1655:1: ( rule__Import__Group__1__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1656:2: rule__Import__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__13350);
            rule__Import__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Import__Group__1"


    // $ANTLR start "rule__Import__Group__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1662:1: rule__Import__Group__1__Impl : ( ( rule__Import__ImportURIAssignment_1 ) ) ;
    public final void rule__Import__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1666:1: ( ( ( rule__Import__ImportURIAssignment_1 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1667:1: ( ( rule__Import__ImportURIAssignment_1 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1667:1: ( ( rule__Import__ImportURIAssignment_1 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1668:1: ( rule__Import__ImportURIAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getImportAccess().getImportURIAssignment_1()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1669:1: ( rule__Import__ImportURIAssignment_1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1669:2: rule__Import__ImportURIAssignment_1
            {
            pushFollow(FOLLOW_rule__Import__ImportURIAssignment_1_in_rule__Import__Group__1__Impl3377);
            rule__Import__ImportURIAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getImportAccess().getImportURIAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Import__Group__1__Impl"


    // $ANTLR start "rule__Dich__Group__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1683:1: rule__Dich__Group__0 : rule__Dich__Group__0__Impl rule__Dich__Group__1 ;
    public final void rule__Dich__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1687:1: ( rule__Dich__Group__0__Impl rule__Dich__Group__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1688:2: rule__Dich__Group__0__Impl rule__Dich__Group__1
            {
            pushFollow(FOLLOW_rule__Dich__Group__0__Impl_in_rule__Dich__Group__03411);
            rule__Dich__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Dich__Group__1_in_rule__Dich__Group__03414);
            rule__Dich__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Dich__Group__0"


    // $ANTLR start "rule__Dich__Group__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1695:1: rule__Dich__Group__0__Impl : ( ( rule__Dich__NameAssignment_0 ) ) ;
    public final void rule__Dich__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1699:1: ( ( ( rule__Dich__NameAssignment_0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1700:1: ( ( rule__Dich__NameAssignment_0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1700:1: ( ( rule__Dich__NameAssignment_0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1701:1: ( rule__Dich__NameAssignment_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDichAccess().getNameAssignment_0()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1702:1: ( rule__Dich__NameAssignment_0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1702:2: rule__Dich__NameAssignment_0
            {
            pushFollow(FOLLOW_rule__Dich__NameAssignment_0_in_rule__Dich__Group__0__Impl3441);
            rule__Dich__NameAssignment_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getDichAccess().getNameAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Dich__Group__0__Impl"


    // $ANTLR start "rule__Dich__Group__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1712:1: rule__Dich__Group__1 : rule__Dich__Group__1__Impl rule__Dich__Group__2 ;
    public final void rule__Dich__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1716:1: ( rule__Dich__Group__1__Impl rule__Dich__Group__2 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1717:2: rule__Dich__Group__1__Impl rule__Dich__Group__2
            {
            pushFollow(FOLLOW_rule__Dich__Group__1__Impl_in_rule__Dich__Group__13471);
            rule__Dich__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Dich__Group__2_in_rule__Dich__Group__13474);
            rule__Dich__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Dich__Group__1"


    // $ANTLR start "rule__Dich__Group__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1724:1: rule__Dich__Group__1__Impl : ( '=' ) ;
    public final void rule__Dich__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1728:1: ( ( '=' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1729:1: ( '=' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1729:1: ( '=' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1730:1: '='
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDichAccess().getEqualsSignKeyword_1()); 
            }
            match(input,19,FOLLOW_19_in_rule__Dich__Group__1__Impl3502); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getDichAccess().getEqualsSignKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Dich__Group__1__Impl"


    // $ANTLR start "rule__Dich__Group__2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1743:1: rule__Dich__Group__2 : rule__Dich__Group__2__Impl ;
    public final void rule__Dich__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1747:1: ( rule__Dich__Group__2__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1748:2: rule__Dich__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Dich__Group__2__Impl_in_rule__Dich__Group__23533);
            rule__Dich__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Dich__Group__2"


    // $ANTLR start "rule__Dich__Group__2__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1754:1: rule__Dich__Group__2__Impl : ( ( rule__Dich__TermAssignment_2 ) ) ;
    public final void rule__Dich__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1758:1: ( ( ( rule__Dich__TermAssignment_2 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1759:1: ( ( rule__Dich__TermAssignment_2 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1759:1: ( ( rule__Dich__TermAssignment_2 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1760:1: ( rule__Dich__TermAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDichAccess().getTermAssignment_2()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1761:1: ( rule__Dich__TermAssignment_2 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1761:2: rule__Dich__TermAssignment_2
            {
            pushFollow(FOLLOW_rule__Dich__TermAssignment_2_in_rule__Dich__Group__2__Impl3560);
            rule__Dich__TermAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getDichAccess().getTermAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Dich__Group__2__Impl"


    // $ANTLR start "rule__Let__Group__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1777:1: rule__Let__Group__0 : rule__Let__Group__0__Impl rule__Let__Group__1 ;
    public final void rule__Let__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1781:1: ( rule__Let__Group__0__Impl rule__Let__Group__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1782:2: rule__Let__Group__0__Impl rule__Let__Group__1
            {
            pushFollow(FOLLOW_rule__Let__Group__0__Impl_in_rule__Let__Group__03596);
            rule__Let__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Let__Group__1_in_rule__Let__Group__03599);
            rule__Let__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__Group__0"


    // $ANTLR start "rule__Let__Group__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1789:1: rule__Let__Group__0__Impl : ( 'let' ) ;
    public final void rule__Let__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1793:1: ( ( 'let' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1794:1: ( 'let' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1794:1: ( 'let' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1795:1: 'let'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetAccess().getLetKeyword_0()); 
            }
            match(input,20,FOLLOW_20_in_rule__Let__Group__0__Impl3627); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetAccess().getLetKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__Group__0__Impl"


    // $ANTLR start "rule__Let__Group__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1808:1: rule__Let__Group__1 : rule__Let__Group__1__Impl rule__Let__Group__2 ;
    public final void rule__Let__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1812:1: ( rule__Let__Group__1__Impl rule__Let__Group__2 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1813:2: rule__Let__Group__1__Impl rule__Let__Group__2
            {
            pushFollow(FOLLOW_rule__Let__Group__1__Impl_in_rule__Let__Group__13658);
            rule__Let__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Let__Group__2_in_rule__Let__Group__13661);
            rule__Let__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__Group__1"


    // $ANTLR start "rule__Let__Group__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1820:1: rule__Let__Group__1__Impl : ( ( rule__Let__VarAssignment_1 ) ) ;
    public final void rule__Let__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1824:1: ( ( ( rule__Let__VarAssignment_1 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1825:1: ( ( rule__Let__VarAssignment_1 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1825:1: ( ( rule__Let__VarAssignment_1 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1826:1: ( rule__Let__VarAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetAccess().getVarAssignment_1()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1827:1: ( rule__Let__VarAssignment_1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1827:2: rule__Let__VarAssignment_1
            {
            pushFollow(FOLLOW_rule__Let__VarAssignment_1_in_rule__Let__Group__1__Impl3688);
            rule__Let__VarAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetAccess().getVarAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__Group__1__Impl"


    // $ANTLR start "rule__Let__Group__2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1837:1: rule__Let__Group__2 : rule__Let__Group__2__Impl rule__Let__Group__3 ;
    public final void rule__Let__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1841:1: ( rule__Let__Group__2__Impl rule__Let__Group__3 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1842:2: rule__Let__Group__2__Impl rule__Let__Group__3
            {
            pushFollow(FOLLOW_rule__Let__Group__2__Impl_in_rule__Let__Group__23718);
            rule__Let__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Let__Group__3_in_rule__Let__Group__23721);
            rule__Let__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__Group__2"


    // $ANTLR start "rule__Let__Group__2__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1849:1: rule__Let__Group__2__Impl : ( ':' ) ;
    public final void rule__Let__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1853:1: ( ( ':' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1854:1: ( ':' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1854:1: ( ':' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1855:1: ':'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetAccess().getColonKeyword_2()); 
            }
            match(input,21,FOLLOW_21_in_rule__Let__Group__2__Impl3749); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetAccess().getColonKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__Group__2__Impl"


    // $ANTLR start "rule__Let__Group__3"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1868:1: rule__Let__Group__3 : rule__Let__Group__3__Impl rule__Let__Group__4 ;
    public final void rule__Let__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1872:1: ( rule__Let__Group__3__Impl rule__Let__Group__4 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1873:2: rule__Let__Group__3__Impl rule__Let__Group__4
            {
            pushFollow(FOLLOW_rule__Let__Group__3__Impl_in_rule__Let__Group__33780);
            rule__Let__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Let__Group__4_in_rule__Let__Group__33783);
            rule__Let__Group__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__Group__3"


    // $ANTLR start "rule__Let__Group__3__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1880:1: rule__Let__Group__3__Impl : ( ( rule__Let__TypeAssignment_3 ) ) ;
    public final void rule__Let__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1884:1: ( ( ( rule__Let__TypeAssignment_3 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1885:1: ( ( rule__Let__TypeAssignment_3 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1885:1: ( ( rule__Let__TypeAssignment_3 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1886:1: ( rule__Let__TypeAssignment_3 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetAccess().getTypeAssignment_3()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1887:1: ( rule__Let__TypeAssignment_3 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1887:2: rule__Let__TypeAssignment_3
            {
            pushFollow(FOLLOW_rule__Let__TypeAssignment_3_in_rule__Let__Group__3__Impl3810);
            rule__Let__TypeAssignment_3();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetAccess().getTypeAssignment_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__Group__3__Impl"


    // $ANTLR start "rule__Let__Group__4"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1897:1: rule__Let__Group__4 : rule__Let__Group__4__Impl rule__Let__Group__5 ;
    public final void rule__Let__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1901:1: ( rule__Let__Group__4__Impl rule__Let__Group__5 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1902:2: rule__Let__Group__4__Impl rule__Let__Group__5
            {
            pushFollow(FOLLOW_rule__Let__Group__4__Impl_in_rule__Let__Group__43840);
            rule__Let__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Let__Group__5_in_rule__Let__Group__43843);
            rule__Let__Group__5();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__Group__4"


    // $ANTLR start "rule__Let__Group__4__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1909:1: rule__Let__Group__4__Impl : ( '=' ) ;
    public final void rule__Let__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1913:1: ( ( '=' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1914:1: ( '=' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1914:1: ( '=' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1915:1: '='
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetAccess().getEqualsSignKeyword_4()); 
            }
            match(input,19,FOLLOW_19_in_rule__Let__Group__4__Impl3871); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetAccess().getEqualsSignKeyword_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__Group__4__Impl"


    // $ANTLR start "rule__Let__Group__5"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1928:1: rule__Let__Group__5 : rule__Let__Group__5__Impl rule__Let__Group__6 ;
    public final void rule__Let__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1932:1: ( rule__Let__Group__5__Impl rule__Let__Group__6 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1933:2: rule__Let__Group__5__Impl rule__Let__Group__6
            {
            pushFollow(FOLLOW_rule__Let__Group__5__Impl_in_rule__Let__Group__53902);
            rule__Let__Group__5__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Let__Group__6_in_rule__Let__Group__53905);
            rule__Let__Group__6();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__Group__5"


    // $ANTLR start "rule__Let__Group__5__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1940:1: rule__Let__Group__5__Impl : ( ( rule__Let__T1Assignment_5 ) ) ;
    public final void rule__Let__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1944:1: ( ( ( rule__Let__T1Assignment_5 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1945:1: ( ( rule__Let__T1Assignment_5 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1945:1: ( ( rule__Let__T1Assignment_5 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1946:1: ( rule__Let__T1Assignment_5 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetAccess().getT1Assignment_5()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1947:1: ( rule__Let__T1Assignment_5 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1947:2: rule__Let__T1Assignment_5
            {
            pushFollow(FOLLOW_rule__Let__T1Assignment_5_in_rule__Let__Group__5__Impl3932);
            rule__Let__T1Assignment_5();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetAccess().getT1Assignment_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__Group__5__Impl"


    // $ANTLR start "rule__Let__Group__6"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1957:1: rule__Let__Group__6 : rule__Let__Group__6__Impl rule__Let__Group__7 ;
    public final void rule__Let__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1961:1: ( rule__Let__Group__6__Impl rule__Let__Group__7 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1962:2: rule__Let__Group__6__Impl rule__Let__Group__7
            {
            pushFollow(FOLLOW_rule__Let__Group__6__Impl_in_rule__Let__Group__63962);
            rule__Let__Group__6__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Let__Group__7_in_rule__Let__Group__63965);
            rule__Let__Group__7();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__Group__6"


    // $ANTLR start "rule__Let__Group__6__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1969:1: rule__Let__Group__6__Impl : ( 'in' ) ;
    public final void rule__Let__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1973:1: ( ( 'in' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1974:1: ( 'in' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1974:1: ( 'in' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1975:1: 'in'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetAccess().getInKeyword_6()); 
            }
            match(input,22,FOLLOW_22_in_rule__Let__Group__6__Impl3993); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetAccess().getInKeyword_6()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__Group__6__Impl"


    // $ANTLR start "rule__Let__Group__7"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1988:1: rule__Let__Group__7 : rule__Let__Group__7__Impl ;
    public final void rule__Let__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1992:1: ( rule__Let__Group__7__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1993:2: rule__Let__Group__7__Impl
            {
            pushFollow(FOLLOW_rule__Let__Group__7__Impl_in_rule__Let__Group__74024);
            rule__Let__Group__7__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__Group__7"


    // $ANTLR start "rule__Let__Group__7__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1999:1: rule__Let__Group__7__Impl : ( ( rule__Let__T2Assignment_7 ) ) ;
    public final void rule__Let__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2003:1: ( ( ( rule__Let__T2Assignment_7 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2004:1: ( ( rule__Let__T2Assignment_7 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2004:1: ( ( rule__Let__T2Assignment_7 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2005:1: ( rule__Let__T2Assignment_7 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetAccess().getT2Assignment_7()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2006:1: ( rule__Let__T2Assignment_7 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2006:2: rule__Let__T2Assignment_7
            {
            pushFollow(FOLLOW_rule__Let__T2Assignment_7_in_rule__Let__Group__7__Impl4051);
            rule__Let__T2Assignment_7();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetAccess().getT2Assignment_7()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__Group__7__Impl"


    // $ANTLR start "rule__Abs__Group__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2032:1: rule__Abs__Group__0 : rule__Abs__Group__0__Impl rule__Abs__Group__1 ;
    public final void rule__Abs__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2036:1: ( rule__Abs__Group__0__Impl rule__Abs__Group__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2037:2: rule__Abs__Group__0__Impl rule__Abs__Group__1
            {
            pushFollow(FOLLOW_rule__Abs__Group__0__Impl_in_rule__Abs__Group__04097);
            rule__Abs__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Abs__Group__1_in_rule__Abs__Group__04100);
            rule__Abs__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Abs__Group__0"


    // $ANTLR start "rule__Abs__Group__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2044:1: rule__Abs__Group__0__Impl : ( '\\\\(' ) ;
    public final void rule__Abs__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2048:1: ( ( '\\\\(' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2049:1: ( '\\\\(' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2049:1: ( '\\\\(' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2050:1: '\\\\('
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAbsAccess().getReverseSolidusLeftParenthesisKeyword_0()); 
            }
            match(input,23,FOLLOW_23_in_rule__Abs__Group__0__Impl4128); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAbsAccess().getReverseSolidusLeftParenthesisKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Abs__Group__0__Impl"


    // $ANTLR start "rule__Abs__Group__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2063:1: rule__Abs__Group__1 : rule__Abs__Group__1__Impl rule__Abs__Group__2 ;
    public final void rule__Abs__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2067:1: ( rule__Abs__Group__1__Impl rule__Abs__Group__2 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2068:2: rule__Abs__Group__1__Impl rule__Abs__Group__2
            {
            pushFollow(FOLLOW_rule__Abs__Group__1__Impl_in_rule__Abs__Group__14159);
            rule__Abs__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Abs__Group__2_in_rule__Abs__Group__14162);
            rule__Abs__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Abs__Group__1"


    // $ANTLR start "rule__Abs__Group__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2075:1: rule__Abs__Group__1__Impl : ( ( rule__Abs__ParamAssignment_1 ) ) ;
    public final void rule__Abs__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2079:1: ( ( ( rule__Abs__ParamAssignment_1 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2080:1: ( ( rule__Abs__ParamAssignment_1 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2080:1: ( ( rule__Abs__ParamAssignment_1 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2081:1: ( rule__Abs__ParamAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAbsAccess().getParamAssignment_1()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2082:1: ( rule__Abs__ParamAssignment_1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2082:2: rule__Abs__ParamAssignment_1
            {
            pushFollow(FOLLOW_rule__Abs__ParamAssignment_1_in_rule__Abs__Group__1__Impl4189);
            rule__Abs__ParamAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAbsAccess().getParamAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Abs__Group__1__Impl"


    // $ANTLR start "rule__Abs__Group__2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2092:1: rule__Abs__Group__2 : rule__Abs__Group__2__Impl rule__Abs__Group__3 ;
    public final void rule__Abs__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2096:1: ( rule__Abs__Group__2__Impl rule__Abs__Group__3 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2097:2: rule__Abs__Group__2__Impl rule__Abs__Group__3
            {
            pushFollow(FOLLOW_rule__Abs__Group__2__Impl_in_rule__Abs__Group__24219);
            rule__Abs__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Abs__Group__3_in_rule__Abs__Group__24222);
            rule__Abs__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Abs__Group__2"


    // $ANTLR start "rule__Abs__Group__2__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2104:1: rule__Abs__Group__2__Impl : ( ':' ) ;
    public final void rule__Abs__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2108:1: ( ( ':' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2109:1: ( ':' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2109:1: ( ':' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2110:1: ':'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAbsAccess().getColonKeyword_2()); 
            }
            match(input,21,FOLLOW_21_in_rule__Abs__Group__2__Impl4250); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAbsAccess().getColonKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Abs__Group__2__Impl"


    // $ANTLR start "rule__Abs__Group__3"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2123:1: rule__Abs__Group__3 : rule__Abs__Group__3__Impl rule__Abs__Group__4 ;
    public final void rule__Abs__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2127:1: ( rule__Abs__Group__3__Impl rule__Abs__Group__4 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2128:2: rule__Abs__Group__3__Impl rule__Abs__Group__4
            {
            pushFollow(FOLLOW_rule__Abs__Group__3__Impl_in_rule__Abs__Group__34281);
            rule__Abs__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Abs__Group__4_in_rule__Abs__Group__34284);
            rule__Abs__Group__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Abs__Group__3"


    // $ANTLR start "rule__Abs__Group__3__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2135:1: rule__Abs__Group__3__Impl : ( ( rule__Abs__TypeAssignment_3 ) ) ;
    public final void rule__Abs__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2139:1: ( ( ( rule__Abs__TypeAssignment_3 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2140:1: ( ( rule__Abs__TypeAssignment_3 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2140:1: ( ( rule__Abs__TypeAssignment_3 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2141:1: ( rule__Abs__TypeAssignment_3 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAbsAccess().getTypeAssignment_3()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2142:1: ( rule__Abs__TypeAssignment_3 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2142:2: rule__Abs__TypeAssignment_3
            {
            pushFollow(FOLLOW_rule__Abs__TypeAssignment_3_in_rule__Abs__Group__3__Impl4311);
            rule__Abs__TypeAssignment_3();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAbsAccess().getTypeAssignment_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Abs__Group__3__Impl"


    // $ANTLR start "rule__Abs__Group__4"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2152:1: rule__Abs__Group__4 : rule__Abs__Group__4__Impl rule__Abs__Group__5 ;
    public final void rule__Abs__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2156:1: ( rule__Abs__Group__4__Impl rule__Abs__Group__5 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2157:2: rule__Abs__Group__4__Impl rule__Abs__Group__5
            {
            pushFollow(FOLLOW_rule__Abs__Group__4__Impl_in_rule__Abs__Group__44341);
            rule__Abs__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Abs__Group__5_in_rule__Abs__Group__44344);
            rule__Abs__Group__5();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Abs__Group__4"


    // $ANTLR start "rule__Abs__Group__4__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2164:1: rule__Abs__Group__4__Impl : ( ').' ) ;
    public final void rule__Abs__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2168:1: ( ( ').' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2169:1: ( ').' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2169:1: ( ').' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2170:1: ').'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAbsAccess().getRightParenthesisFullStopKeyword_4()); 
            }
            match(input,24,FOLLOW_24_in_rule__Abs__Group__4__Impl4372); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAbsAccess().getRightParenthesisFullStopKeyword_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Abs__Group__4__Impl"


    // $ANTLR start "rule__Abs__Group__5"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2183:1: rule__Abs__Group__5 : rule__Abs__Group__5__Impl ;
    public final void rule__Abs__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2187:1: ( rule__Abs__Group__5__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2188:2: rule__Abs__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__Abs__Group__5__Impl_in_rule__Abs__Group__54403);
            rule__Abs__Group__5__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Abs__Group__5"


    // $ANTLR start "rule__Abs__Group__5__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2194:1: rule__Abs__Group__5__Impl : ( ( rule__Abs__BodyAssignment_5 ) ) ;
    public final void rule__Abs__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2198:1: ( ( ( rule__Abs__BodyAssignment_5 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2199:1: ( ( rule__Abs__BodyAssignment_5 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2199:1: ( ( rule__Abs__BodyAssignment_5 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2200:1: ( rule__Abs__BodyAssignment_5 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAbsAccess().getBodyAssignment_5()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2201:1: ( rule__Abs__BodyAssignment_5 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2201:2: rule__Abs__BodyAssignment_5
            {
            pushFollow(FOLLOW_rule__Abs__BodyAssignment_5_in_rule__Abs__Group__5__Impl4430);
            rule__Abs__BodyAssignment_5();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAbsAccess().getBodyAssignment_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Abs__Group__5__Impl"


    // $ANTLR start "rule__App__Group__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2223:1: rule__App__Group__0 : rule__App__Group__0__Impl rule__App__Group__1 ;
    public final void rule__App__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2227:1: ( rule__App__Group__0__Impl rule__App__Group__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2228:2: rule__App__Group__0__Impl rule__App__Group__1
            {
            pushFollow(FOLLOW_rule__App__Group__0__Impl_in_rule__App__Group__04472);
            rule__App__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__App__Group__1_in_rule__App__Group__04475);
            rule__App__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__App__Group__0"


    // $ANTLR start "rule__App__Group__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2235:1: rule__App__Group__0__Impl : ( '(' ) ;
    public final void rule__App__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2239:1: ( ( '(' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2240:1: ( '(' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2240:1: ( '(' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2241:1: '('
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAppAccess().getLeftParenthesisKeyword_0()); 
            }
            match(input,25,FOLLOW_25_in_rule__App__Group__0__Impl4503); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAppAccess().getLeftParenthesisKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__App__Group__0__Impl"


    // $ANTLR start "rule__App__Group__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2254:1: rule__App__Group__1 : rule__App__Group__1__Impl rule__App__Group__2 ;
    public final void rule__App__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2258:1: ( rule__App__Group__1__Impl rule__App__Group__2 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2259:2: rule__App__Group__1__Impl rule__App__Group__2
            {
            pushFollow(FOLLOW_rule__App__Group__1__Impl_in_rule__App__Group__14534);
            rule__App__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__App__Group__2_in_rule__App__Group__14537);
            rule__App__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__App__Group__1"


    // $ANTLR start "rule__App__Group__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2266:1: rule__App__Group__1__Impl : ( ( rule__App__T1Assignment_1 ) ) ;
    public final void rule__App__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2270:1: ( ( ( rule__App__T1Assignment_1 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2271:1: ( ( rule__App__T1Assignment_1 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2271:1: ( ( rule__App__T1Assignment_1 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2272:1: ( rule__App__T1Assignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAppAccess().getT1Assignment_1()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2273:1: ( rule__App__T1Assignment_1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2273:2: rule__App__T1Assignment_1
            {
            pushFollow(FOLLOW_rule__App__T1Assignment_1_in_rule__App__Group__1__Impl4564);
            rule__App__T1Assignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAppAccess().getT1Assignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__App__Group__1__Impl"


    // $ANTLR start "rule__App__Group__2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2283:1: rule__App__Group__2 : rule__App__Group__2__Impl rule__App__Group__3 ;
    public final void rule__App__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2287:1: ( rule__App__Group__2__Impl rule__App__Group__3 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2288:2: rule__App__Group__2__Impl rule__App__Group__3
            {
            pushFollow(FOLLOW_rule__App__Group__2__Impl_in_rule__App__Group__24594);
            rule__App__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__App__Group__3_in_rule__App__Group__24597);
            rule__App__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__App__Group__2"


    // $ANTLR start "rule__App__Group__2__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2295:1: rule__App__Group__2__Impl : ( ')' ) ;
    public final void rule__App__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2299:1: ( ( ')' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2300:1: ( ')' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2300:1: ( ')' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2301:1: ')'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAppAccess().getRightParenthesisKeyword_2()); 
            }
            match(input,26,FOLLOW_26_in_rule__App__Group__2__Impl4625); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAppAccess().getRightParenthesisKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__App__Group__2__Impl"


    // $ANTLR start "rule__App__Group__3"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2314:1: rule__App__Group__3 : rule__App__Group__3__Impl ;
    public final void rule__App__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2318:1: ( rule__App__Group__3__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2319:2: rule__App__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__App__Group__3__Impl_in_rule__App__Group__34656);
            rule__App__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__App__Group__3"


    // $ANTLR start "rule__App__Group__3__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2325:1: rule__App__Group__3__Impl : ( ( rule__App__T2Assignment_3 ) ) ;
    public final void rule__App__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2329:1: ( ( ( rule__App__T2Assignment_3 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2330:1: ( ( rule__App__T2Assignment_3 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2330:1: ( ( rule__App__T2Assignment_3 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2331:1: ( rule__App__T2Assignment_3 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAppAccess().getT2Assignment_3()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2332:1: ( rule__App__T2Assignment_3 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2332:2: rule__App__T2Assignment_3
            {
            pushFollow(FOLLOW_rule__App__T2Assignment_3_in_rule__App__Group__3__Impl4683);
            rule__App__T2Assignment_3();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAppAccess().getT2Assignment_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__App__Group__3__Impl"


    // $ANTLR start "rule__Uq__Group__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2350:1: rule__Uq__Group__0 : rule__Uq__Group__0__Impl rule__Uq__Group__1 ;
    public final void rule__Uq__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2354:1: ( rule__Uq__Group__0__Impl rule__Uq__Group__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2355:2: rule__Uq__Group__0__Impl rule__Uq__Group__1
            {
            pushFollow(FOLLOW_rule__Uq__Group__0__Impl_in_rule__Uq__Group__04721);
            rule__Uq__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Uq__Group__1_in_rule__Uq__Group__04724);
            rule__Uq__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Uq__Group__0"


    // $ANTLR start "rule__Uq__Group__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2362:1: rule__Uq__Group__0__Impl : ( '/\\\\' ) ;
    public final void rule__Uq__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2366:1: ( ( '/\\\\' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2367:1: ( '/\\\\' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2367:1: ( '/\\\\' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2368:1: '/\\\\'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUqAccess().getSolidusReverseSolidusKeyword_0()); 
            }
            match(input,27,FOLLOW_27_in_rule__Uq__Group__0__Impl4752); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUqAccess().getSolidusReverseSolidusKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Uq__Group__0__Impl"


    // $ANTLR start "rule__Uq__Group__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2381:1: rule__Uq__Group__1 : rule__Uq__Group__1__Impl rule__Uq__Group__2 ;
    public final void rule__Uq__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2385:1: ( rule__Uq__Group__1__Impl rule__Uq__Group__2 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2386:2: rule__Uq__Group__1__Impl rule__Uq__Group__2
            {
            pushFollow(FOLLOW_rule__Uq__Group__1__Impl_in_rule__Uq__Group__14783);
            rule__Uq__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Uq__Group__2_in_rule__Uq__Group__14786);
            rule__Uq__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Uq__Group__1"


    // $ANTLR start "rule__Uq__Group__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2393:1: rule__Uq__Group__1__Impl : ( ( rule__Uq__VarAssignment_1 ) ) ;
    public final void rule__Uq__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2397:1: ( ( ( rule__Uq__VarAssignment_1 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2398:1: ( ( rule__Uq__VarAssignment_1 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2398:1: ( ( rule__Uq__VarAssignment_1 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2399:1: ( rule__Uq__VarAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUqAccess().getVarAssignment_1()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2400:1: ( rule__Uq__VarAssignment_1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2400:2: rule__Uq__VarAssignment_1
            {
            pushFollow(FOLLOW_rule__Uq__VarAssignment_1_in_rule__Uq__Group__1__Impl4813);
            rule__Uq__VarAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUqAccess().getVarAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Uq__Group__1__Impl"


    // $ANTLR start "rule__Uq__Group__2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2410:1: rule__Uq__Group__2 : rule__Uq__Group__2__Impl rule__Uq__Group__3 ;
    public final void rule__Uq__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2414:1: ( rule__Uq__Group__2__Impl rule__Uq__Group__3 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2415:2: rule__Uq__Group__2__Impl rule__Uq__Group__3
            {
            pushFollow(FOLLOW_rule__Uq__Group__2__Impl_in_rule__Uq__Group__24843);
            rule__Uq__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Uq__Group__3_in_rule__Uq__Group__24846);
            rule__Uq__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Uq__Group__2"


    // $ANTLR start "rule__Uq__Group__2__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2422:1: rule__Uq__Group__2__Impl : ( '.' ) ;
    public final void rule__Uq__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2426:1: ( ( '.' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2427:1: ( '.' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2427:1: ( '.' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2428:1: '.'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUqAccess().getFullStopKeyword_2()); 
            }
            match(input,28,FOLLOW_28_in_rule__Uq__Group__2__Impl4874); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUqAccess().getFullStopKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Uq__Group__2__Impl"


    // $ANTLR start "rule__Uq__Group__3"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2441:1: rule__Uq__Group__3 : rule__Uq__Group__3__Impl ;
    public final void rule__Uq__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2445:1: ( rule__Uq__Group__3__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2446:2: rule__Uq__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__Uq__Group__3__Impl_in_rule__Uq__Group__34905);
            rule__Uq__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Uq__Group__3"


    // $ANTLR start "rule__Uq__Group__3__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2452:1: rule__Uq__Group__3__Impl : ( ( rule__Uq__TermAssignment_3 ) ) ;
    public final void rule__Uq__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2456:1: ( ( ( rule__Uq__TermAssignment_3 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2457:1: ( ( rule__Uq__TermAssignment_3 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2457:1: ( ( rule__Uq__TermAssignment_3 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2458:1: ( rule__Uq__TermAssignment_3 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUqAccess().getTermAssignment_3()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2459:1: ( rule__Uq__TermAssignment_3 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2459:2: rule__Uq__TermAssignment_3
            {
            pushFollow(FOLLOW_rule__Uq__TermAssignment_3_in_rule__Uq__Group__3__Impl4932);
            rule__Uq__TermAssignment_3();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUqAccess().getTermAssignment_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Uq__Group__3__Impl"


    // $ANTLR start "rule__Tapp__Group__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2477:1: rule__Tapp__Group__0 : rule__Tapp__Group__0__Impl rule__Tapp__Group__1 ;
    public final void rule__Tapp__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2481:1: ( rule__Tapp__Group__0__Impl rule__Tapp__Group__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2482:2: rule__Tapp__Group__0__Impl rule__Tapp__Group__1
            {
            pushFollow(FOLLOW_rule__Tapp__Group__0__Impl_in_rule__Tapp__Group__04970);
            rule__Tapp__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Tapp__Group__1_in_rule__Tapp__Group__04973);
            rule__Tapp__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Tapp__Group__0"


    // $ANTLR start "rule__Tapp__Group__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2489:1: rule__Tapp__Group__0__Impl : ( ( '[' ) ) ;
    public final void rule__Tapp__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2493:1: ( ( ( '[' ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2494:1: ( ( '[' ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2494:1: ( ( '[' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2495:1: ( '[' )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTappAccess().getLeftSquareBracketKeyword_0()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2496:1: ( '[' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2497:2: '['
            {
            match(input,29,FOLLOW_29_in_rule__Tapp__Group__0__Impl5002); if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getTappAccess().getLeftSquareBracketKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Tapp__Group__0__Impl"


    // $ANTLR start "rule__Tapp__Group__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2508:1: rule__Tapp__Group__1 : rule__Tapp__Group__1__Impl rule__Tapp__Group__2 ;
    public final void rule__Tapp__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2512:1: ( rule__Tapp__Group__1__Impl rule__Tapp__Group__2 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2513:2: rule__Tapp__Group__1__Impl rule__Tapp__Group__2
            {
            pushFollow(FOLLOW_rule__Tapp__Group__1__Impl_in_rule__Tapp__Group__15034);
            rule__Tapp__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Tapp__Group__2_in_rule__Tapp__Group__15037);
            rule__Tapp__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Tapp__Group__1"


    // $ANTLR start "rule__Tapp__Group__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2520:1: rule__Tapp__Group__1__Impl : ( ( rule__Tapp__TermAssignment_1 ) ) ;
    public final void rule__Tapp__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2524:1: ( ( ( rule__Tapp__TermAssignment_1 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2525:1: ( ( rule__Tapp__TermAssignment_1 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2525:1: ( ( rule__Tapp__TermAssignment_1 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2526:1: ( rule__Tapp__TermAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTappAccess().getTermAssignment_1()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2527:1: ( rule__Tapp__TermAssignment_1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2527:2: rule__Tapp__TermAssignment_1
            {
            pushFollow(FOLLOW_rule__Tapp__TermAssignment_1_in_rule__Tapp__Group__1__Impl5064);
            rule__Tapp__TermAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getTappAccess().getTermAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Tapp__Group__1__Impl"


    // $ANTLR start "rule__Tapp__Group__2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2537:1: rule__Tapp__Group__2 : rule__Tapp__Group__2__Impl rule__Tapp__Group__3 ;
    public final void rule__Tapp__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2541:1: ( rule__Tapp__Group__2__Impl rule__Tapp__Group__3 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2542:2: rule__Tapp__Group__2__Impl rule__Tapp__Group__3
            {
            pushFollow(FOLLOW_rule__Tapp__Group__2__Impl_in_rule__Tapp__Group__25094);
            rule__Tapp__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Tapp__Group__3_in_rule__Tapp__Group__25097);
            rule__Tapp__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Tapp__Group__2"


    // $ANTLR start "rule__Tapp__Group__2__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2549:1: rule__Tapp__Group__2__Impl : ( ']' ) ;
    public final void rule__Tapp__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2553:1: ( ( ']' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2554:1: ( ']' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2554:1: ( ']' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2555:1: ']'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTappAccess().getRightSquareBracketKeyword_2()); 
            }
            match(input,30,FOLLOW_30_in_rule__Tapp__Group__2__Impl5125); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTappAccess().getRightSquareBracketKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Tapp__Group__2__Impl"


    // $ANTLR start "rule__Tapp__Group__3"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2568:1: rule__Tapp__Group__3 : rule__Tapp__Group__3__Impl ;
    public final void rule__Tapp__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2572:1: ( rule__Tapp__Group__3__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2573:2: rule__Tapp__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__Tapp__Group__3__Impl_in_rule__Tapp__Group__35156);
            rule__Tapp__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Tapp__Group__3"


    // $ANTLR start "rule__Tapp__Group__3__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2579:1: rule__Tapp__Group__3__Impl : ( ( rule__Tapp__TypeAssignment_3 ) ) ;
    public final void rule__Tapp__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2583:1: ( ( ( rule__Tapp__TypeAssignment_3 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2584:1: ( ( rule__Tapp__TypeAssignment_3 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2584:1: ( ( rule__Tapp__TypeAssignment_3 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2585:1: ( rule__Tapp__TypeAssignment_3 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTappAccess().getTypeAssignment_3()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2586:1: ( rule__Tapp__TypeAssignment_3 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2586:2: rule__Tapp__TypeAssignment_3
            {
            pushFollow(FOLLOW_rule__Tapp__TypeAssignment_3_in_rule__Tapp__Group__3__Impl5183);
            rule__Tapp__TypeAssignment_3();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getTappAccess().getTypeAssignment_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Tapp__Group__3__Impl"


    // $ANTLR start "rule__T1__Group__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2604:1: rule__T1__Group__0 : rule__T1__Group__0__Impl rule__T1__Group__1 ;
    public final void rule__T1__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2608:1: ( rule__T1__Group__0__Impl rule__T1__Group__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2609:2: rule__T1__Group__0__Impl rule__T1__Group__1
            {
            pushFollow(FOLLOW_rule__T1__Group__0__Impl_in_rule__T1__Group__05221);
            rule__T1__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__T1__Group__1_in_rule__T1__Group__05224);
            rule__T1__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T1__Group__0"


    // $ANTLR start "rule__T1__Group__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2616:1: rule__T1__Group__0__Impl : ( ( rule__T1__PAssignment_0 ) ) ;
    public final void rule__T1__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2620:1: ( ( ( rule__T1__PAssignment_0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2621:1: ( ( rule__T1__PAssignment_0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2621:1: ( ( rule__T1__PAssignment_0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2622:1: ( rule__T1__PAssignment_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT1Access().getPAssignment_0()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2623:1: ( rule__T1__PAssignment_0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2623:2: rule__T1__PAssignment_0
            {
            pushFollow(FOLLOW_rule__T1__PAssignment_0_in_rule__T1__Group__0__Impl5251);
            rule__T1__PAssignment_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getT1Access().getPAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T1__Group__0__Impl"


    // $ANTLR start "rule__T1__Group__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2633:1: rule__T1__Group__1 : rule__T1__Group__1__Impl ;
    public final void rule__T1__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2637:1: ( rule__T1__Group__1__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2638:2: rule__T1__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__T1__Group__1__Impl_in_rule__T1__Group__15281);
            rule__T1__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T1__Group__1"


    // $ANTLR start "rule__T1__Group__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2644:1: rule__T1__Group__1__Impl : ( ( rule__T1__Group_1__0 )* ) ;
    public final void rule__T1__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2648:1: ( ( ( rule__T1__Group_1__0 )* ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2649:1: ( ( rule__T1__Group_1__0 )* )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2649:1: ( ( rule__T1__Group_1__0 )* )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2650:1: ( rule__T1__Group_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT1Access().getGroup_1()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2651:1: ( rule__T1__Group_1__0 )*
            loop14:
            do {
                int alt14=2;
                int LA14_0 = input.LA(1);

                if ( (LA14_0==31) ) {
                    int LA14_2 = input.LA(2);

                    if ( (synpred21_InternalMyDsl()) ) {
                        alt14=1;
                    }


                }


                switch (alt14) {
            	case 1 :
            	    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2651:2: rule__T1__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__T1__Group_1__0_in_rule__T1__Group__1__Impl5308);
            	    rule__T1__Group_1__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop14;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getT1Access().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T1__Group__1__Impl"


    // $ANTLR start "rule__T1__Group_1__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2665:1: rule__T1__Group_1__0 : rule__T1__Group_1__0__Impl rule__T1__Group_1__1 ;
    public final void rule__T1__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2669:1: ( rule__T1__Group_1__0__Impl rule__T1__Group_1__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2670:2: rule__T1__Group_1__0__Impl rule__T1__Group_1__1
            {
            pushFollow(FOLLOW_rule__T1__Group_1__0__Impl_in_rule__T1__Group_1__05343);
            rule__T1__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__T1__Group_1__1_in_rule__T1__Group_1__05346);
            rule__T1__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T1__Group_1__0"


    // $ANTLR start "rule__T1__Group_1__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2677:1: rule__T1__Group_1__0__Impl : ( '->' ) ;
    public final void rule__T1__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2681:1: ( ( '->' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2682:1: ( '->' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2682:1: ( '->' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2683:1: '->'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT1Access().getHyphenMinusGreaterThanSignKeyword_1_0()); 
            }
            match(input,31,FOLLOW_31_in_rule__T1__Group_1__0__Impl5374); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getT1Access().getHyphenMinusGreaterThanSignKeyword_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T1__Group_1__0__Impl"


    // $ANTLR start "rule__T1__Group_1__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2696:1: rule__T1__Group_1__1 : rule__T1__Group_1__1__Impl ;
    public final void rule__T1__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2700:1: ( rule__T1__Group_1__1__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2701:2: rule__T1__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__T1__Group_1__1__Impl_in_rule__T1__Group_1__15405);
            rule__T1__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T1__Group_1__1"


    // $ANTLR start "rule__T1__Group_1__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2707:1: rule__T1__Group_1__1__Impl : ( ( rule__T1__CAssignment_1_1 ) ) ;
    public final void rule__T1__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2711:1: ( ( ( rule__T1__CAssignment_1_1 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2712:1: ( ( rule__T1__CAssignment_1_1 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2712:1: ( ( rule__T1__CAssignment_1_1 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2713:1: ( rule__T1__CAssignment_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT1Access().getCAssignment_1_1()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2714:1: ( rule__T1__CAssignment_1_1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2714:2: rule__T1__CAssignment_1_1
            {
            pushFollow(FOLLOW_rule__T1__CAssignment_1_1_in_rule__T1__Group_1__1__Impl5432);
            rule__T1__CAssignment_1_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getT1Access().getCAssignment_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T1__Group_1__1__Impl"


    // $ANTLR start "rule__T2__Group__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2728:1: rule__T2__Group__0 : rule__T2__Group__0__Impl rule__T2__Group__1 ;
    public final void rule__T2__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2732:1: ( rule__T2__Group__0__Impl rule__T2__Group__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2733:2: rule__T2__Group__0__Impl rule__T2__Group__1
            {
            pushFollow(FOLLOW_rule__T2__Group__0__Impl_in_rule__T2__Group__05466);
            rule__T2__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__T2__Group__1_in_rule__T2__Group__05469);
            rule__T2__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T2__Group__0"


    // $ANTLR start "rule__T2__Group__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2740:1: rule__T2__Group__0__Impl : ( '(' ) ;
    public final void rule__T2__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2744:1: ( ( '(' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2745:1: ( '(' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2745:1: ( '(' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2746:1: '('
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT2Access().getLeftParenthesisKeyword_0()); 
            }
            match(input,25,FOLLOW_25_in_rule__T2__Group__0__Impl5497); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getT2Access().getLeftParenthesisKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T2__Group__0__Impl"


    // $ANTLR start "rule__T2__Group__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2759:1: rule__T2__Group__1 : rule__T2__Group__1__Impl rule__T2__Group__2 ;
    public final void rule__T2__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2763:1: ( rule__T2__Group__1__Impl rule__T2__Group__2 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2764:2: rule__T2__Group__1__Impl rule__T2__Group__2
            {
            pushFollow(FOLLOW_rule__T2__Group__1__Impl_in_rule__T2__Group__15528);
            rule__T2__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__T2__Group__2_in_rule__T2__Group__15531);
            rule__T2__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T2__Group__1"


    // $ANTLR start "rule__T2__Group__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2771:1: rule__T2__Group__1__Impl : ( ( rule__T2__P1Assignment_1 ) ) ;
    public final void rule__T2__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2775:1: ( ( ( rule__T2__P1Assignment_1 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2776:1: ( ( rule__T2__P1Assignment_1 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2776:1: ( ( rule__T2__P1Assignment_1 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2777:1: ( rule__T2__P1Assignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT2Access().getP1Assignment_1()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2778:1: ( rule__T2__P1Assignment_1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2778:2: rule__T2__P1Assignment_1
            {
            pushFollow(FOLLOW_rule__T2__P1Assignment_1_in_rule__T2__Group__1__Impl5558);
            rule__T2__P1Assignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getT2Access().getP1Assignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T2__Group__1__Impl"


    // $ANTLR start "rule__T2__Group__2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2788:1: rule__T2__Group__2 : rule__T2__Group__2__Impl rule__T2__Group__3 ;
    public final void rule__T2__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2792:1: ( rule__T2__Group__2__Impl rule__T2__Group__3 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2793:2: rule__T2__Group__2__Impl rule__T2__Group__3
            {
            pushFollow(FOLLOW_rule__T2__Group__2__Impl_in_rule__T2__Group__25588);
            rule__T2__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__T2__Group__3_in_rule__T2__Group__25591);
            rule__T2__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T2__Group__2"


    // $ANTLR start "rule__T2__Group__2__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2800:1: rule__T2__Group__2__Impl : ( ')' ) ;
    public final void rule__T2__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2804:1: ( ( ')' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2805:1: ( ')' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2805:1: ( ')' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2806:1: ')'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT2Access().getRightParenthesisKeyword_2()); 
            }
            match(input,26,FOLLOW_26_in_rule__T2__Group__2__Impl5619); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getT2Access().getRightParenthesisKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T2__Group__2__Impl"


    // $ANTLR start "rule__T2__Group__3"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2819:1: rule__T2__Group__3 : rule__T2__Group__3__Impl ;
    public final void rule__T2__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2823:1: ( rule__T2__Group__3__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2824:2: rule__T2__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__T2__Group__3__Impl_in_rule__T2__Group__35650);
            rule__T2__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T2__Group__3"


    // $ANTLR start "rule__T2__Group__3__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2830:1: rule__T2__Group__3__Impl : ( ( rule__T2__Group_3__0 )* ) ;
    public final void rule__T2__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2834:1: ( ( ( rule__T2__Group_3__0 )* ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2835:1: ( ( rule__T2__Group_3__0 )* )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2835:1: ( ( rule__T2__Group_3__0 )* )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2836:1: ( rule__T2__Group_3__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT2Access().getGroup_3()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2837:1: ( rule__T2__Group_3__0 )*
            loop15:
            do {
                int alt15=2;
                int LA15_0 = input.LA(1);

                if ( (LA15_0==31) ) {
                    int LA15_2 = input.LA(2);

                    if ( (synpred22_InternalMyDsl()) ) {
                        alt15=1;
                    }


                }


                switch (alt15) {
            	case 1 :
            	    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2837:2: rule__T2__Group_3__0
            	    {
            	    pushFollow(FOLLOW_rule__T2__Group_3__0_in_rule__T2__Group__3__Impl5677);
            	    rule__T2__Group_3__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop15;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getT2Access().getGroup_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T2__Group__3__Impl"


    // $ANTLR start "rule__T2__Group_3__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2855:1: rule__T2__Group_3__0 : rule__T2__Group_3__0__Impl rule__T2__Group_3__1 ;
    public final void rule__T2__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2859:1: ( rule__T2__Group_3__0__Impl rule__T2__Group_3__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2860:2: rule__T2__Group_3__0__Impl rule__T2__Group_3__1
            {
            pushFollow(FOLLOW_rule__T2__Group_3__0__Impl_in_rule__T2__Group_3__05716);
            rule__T2__Group_3__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__T2__Group_3__1_in_rule__T2__Group_3__05719);
            rule__T2__Group_3__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T2__Group_3__0"


    // $ANTLR start "rule__T2__Group_3__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2867:1: rule__T2__Group_3__0__Impl : ( '->' ) ;
    public final void rule__T2__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2871:1: ( ( '->' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2872:1: ( '->' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2872:1: ( '->' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2873:1: '->'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT2Access().getHyphenMinusGreaterThanSignKeyword_3_0()); 
            }
            match(input,31,FOLLOW_31_in_rule__T2__Group_3__0__Impl5747); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getT2Access().getHyphenMinusGreaterThanSignKeyword_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T2__Group_3__0__Impl"


    // $ANTLR start "rule__T2__Group_3__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2886:1: rule__T2__Group_3__1 : rule__T2__Group_3__1__Impl ;
    public final void rule__T2__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2890:1: ( rule__T2__Group_3__1__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2891:2: rule__T2__Group_3__1__Impl
            {
            pushFollow(FOLLOW_rule__T2__Group_3__1__Impl_in_rule__T2__Group_3__15778);
            rule__T2__Group_3__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T2__Group_3__1"


    // $ANTLR start "rule__T2__Group_3__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2897:1: rule__T2__Group_3__1__Impl : ( ( rule__T2__C1Assignment_3_1 ) ) ;
    public final void rule__T2__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2901:1: ( ( ( rule__T2__C1Assignment_3_1 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2902:1: ( ( rule__T2__C1Assignment_3_1 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2902:1: ( ( rule__T2__C1Assignment_3_1 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2903:1: ( rule__T2__C1Assignment_3_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT2Access().getC1Assignment_3_1()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2904:1: ( rule__T2__C1Assignment_3_1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2904:2: rule__T2__C1Assignment_3_1
            {
            pushFollow(FOLLOW_rule__T2__C1Assignment_3_1_in_rule__T2__Group_3__1__Impl5805);
            rule__T2__C1Assignment_3_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getT2Access().getC1Assignment_3_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T2__Group_3__1__Impl"


    // $ANTLR start "rule__T3__Group__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2918:1: rule__T3__Group__0 : rule__T3__Group__0__Impl rule__T3__Group__1 ;
    public final void rule__T3__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2922:1: ( rule__T3__Group__0__Impl rule__T3__Group__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2923:2: rule__T3__Group__0__Impl rule__T3__Group__1
            {
            pushFollow(FOLLOW_rule__T3__Group__0__Impl_in_rule__T3__Group__05839);
            rule__T3__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__T3__Group__1_in_rule__T3__Group__05842);
            rule__T3__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T3__Group__0"


    // $ANTLR start "rule__T3__Group__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2930:1: rule__T3__Group__0__Impl : ( 'forall' ) ;
    public final void rule__T3__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:1: ( ( 'forall' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2935:1: ( 'forall' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2935:1: ( 'forall' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2936:1: 'forall'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT3Access().getForallKeyword_0()); 
            }
            match(input,32,FOLLOW_32_in_rule__T3__Group__0__Impl5870); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getT3Access().getForallKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T3__Group__0__Impl"


    // $ANTLR start "rule__T3__Group__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2949:1: rule__T3__Group__1 : rule__T3__Group__1__Impl rule__T3__Group__2 ;
    public final void rule__T3__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2953:1: ( rule__T3__Group__1__Impl rule__T3__Group__2 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2954:2: rule__T3__Group__1__Impl rule__T3__Group__2
            {
            pushFollow(FOLLOW_rule__T3__Group__1__Impl_in_rule__T3__Group__15901);
            rule__T3__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__T3__Group__2_in_rule__T3__Group__15904);
            rule__T3__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T3__Group__1"


    // $ANTLR start "rule__T3__Group__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2961:1: rule__T3__Group__1__Impl : ( ( rule__T3__VarAssignment_1 ) ) ;
    public final void rule__T3__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2965:1: ( ( ( rule__T3__VarAssignment_1 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2966:1: ( ( rule__T3__VarAssignment_1 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2966:1: ( ( rule__T3__VarAssignment_1 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2967:1: ( rule__T3__VarAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT3Access().getVarAssignment_1()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2968:1: ( rule__T3__VarAssignment_1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2968:2: rule__T3__VarAssignment_1
            {
            pushFollow(FOLLOW_rule__T3__VarAssignment_1_in_rule__T3__Group__1__Impl5931);
            rule__T3__VarAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getT3Access().getVarAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T3__Group__1__Impl"


    // $ANTLR start "rule__T3__Group__2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2978:1: rule__T3__Group__2 : rule__T3__Group__2__Impl ;
    public final void rule__T3__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2982:1: ( rule__T3__Group__2__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2983:2: rule__T3__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__T3__Group__2__Impl_in_rule__T3__Group__25961);
            rule__T3__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T3__Group__2"


    // $ANTLR start "rule__T3__Group__2__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2989:1: rule__T3__Group__2__Impl : ( ( rule__T3__TAssignment_2 ) ) ;
    public final void rule__T3__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2993:1: ( ( ( rule__T3__TAssignment_2 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2994:1: ( ( rule__T3__TAssignment_2 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2994:1: ( ( rule__T3__TAssignment_2 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2995:1: ( rule__T3__TAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT3Access().getTAssignment_2()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2996:1: ( rule__T3__TAssignment_2 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2996:2: rule__T3__TAssignment_2
            {
            pushFollow(FOLLOW_rule__T3__TAssignment_2_in_rule__T3__Group__2__Impl5988);
            rule__T3__TAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getT3Access().getTAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T3__Group__2__Impl"


    // $ANTLR start "rule__TypeDich__Group__0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3012:1: rule__TypeDich__Group__0 : rule__TypeDich__Group__0__Impl rule__TypeDich__Group__1 ;
    public final void rule__TypeDich__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3016:1: ( rule__TypeDich__Group__0__Impl rule__TypeDich__Group__1 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3017:2: rule__TypeDich__Group__0__Impl rule__TypeDich__Group__1
            {
            pushFollow(FOLLOW_rule__TypeDich__Group__0__Impl_in_rule__TypeDich__Group__06024);
            rule__TypeDich__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__TypeDich__Group__1_in_rule__TypeDich__Group__06027);
            rule__TypeDich__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDich__Group__0"


    // $ANTLR start "rule__TypeDich__Group__0__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3024:1: rule__TypeDich__Group__0__Impl : ( ( rule__TypeDich__NameAssignment_0 ) ) ;
    public final void rule__TypeDich__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3028:1: ( ( ( rule__TypeDich__NameAssignment_0 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3029:1: ( ( rule__TypeDich__NameAssignment_0 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3029:1: ( ( rule__TypeDich__NameAssignment_0 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3030:1: ( rule__TypeDich__NameAssignment_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTypeDichAccess().getNameAssignment_0()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3031:1: ( rule__TypeDich__NameAssignment_0 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3031:2: rule__TypeDich__NameAssignment_0
            {
            pushFollow(FOLLOW_rule__TypeDich__NameAssignment_0_in_rule__TypeDich__Group__0__Impl6054);
            rule__TypeDich__NameAssignment_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getTypeDichAccess().getNameAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDich__Group__0__Impl"


    // $ANTLR start "rule__TypeDich__Group__1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3041:1: rule__TypeDich__Group__1 : rule__TypeDich__Group__1__Impl rule__TypeDich__Group__2 ;
    public final void rule__TypeDich__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3045:1: ( rule__TypeDich__Group__1__Impl rule__TypeDich__Group__2 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3046:2: rule__TypeDich__Group__1__Impl rule__TypeDich__Group__2
            {
            pushFollow(FOLLOW_rule__TypeDich__Group__1__Impl_in_rule__TypeDich__Group__16084);
            rule__TypeDich__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__TypeDich__Group__2_in_rule__TypeDich__Group__16087);
            rule__TypeDich__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDich__Group__1"


    // $ANTLR start "rule__TypeDich__Group__1__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3053:1: rule__TypeDich__Group__1__Impl : ( '=' ) ;
    public final void rule__TypeDich__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3057:1: ( ( '=' ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3058:1: ( '=' )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3058:1: ( '=' )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3059:1: '='
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTypeDichAccess().getEqualsSignKeyword_1()); 
            }
            match(input,19,FOLLOW_19_in_rule__TypeDich__Group__1__Impl6115); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTypeDichAccess().getEqualsSignKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDich__Group__1__Impl"


    // $ANTLR start "rule__TypeDich__Group__2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3072:1: rule__TypeDich__Group__2 : rule__TypeDich__Group__2__Impl ;
    public final void rule__TypeDich__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3076:1: ( rule__TypeDich__Group__2__Impl )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3077:2: rule__TypeDich__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__TypeDich__Group__2__Impl_in_rule__TypeDich__Group__26146);
            rule__TypeDich__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDich__Group__2"


    // $ANTLR start "rule__TypeDich__Group__2__Impl"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3083:1: rule__TypeDich__Group__2__Impl : ( ( rule__TypeDich__TypeAssignment_2 ) ) ;
    public final void rule__TypeDich__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3087:1: ( ( ( rule__TypeDich__TypeAssignment_2 ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3088:1: ( ( rule__TypeDich__TypeAssignment_2 ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3088:1: ( ( rule__TypeDich__TypeAssignment_2 ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3089:1: ( rule__TypeDich__TypeAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTypeDichAccess().getTypeAssignment_2()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3090:1: ( rule__TypeDich__TypeAssignment_2 )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3090:2: rule__TypeDich__TypeAssignment_2
            {
            pushFollow(FOLLOW_rule__TypeDich__TypeAssignment_2_in_rule__TypeDich__Group__2__Impl6173);
            rule__TypeDich__TypeAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getTypeDichAccess().getTypeAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDich__Group__2__Impl"


    // $ANTLR start "rule__Prog__ImportListAssignment_0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3107:1: rule__Prog__ImportListAssignment_0 : ( ruleImport ) ;
    public final void rule__Prog__ImportListAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3111:1: ( ( ruleImport ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3112:1: ( ruleImport )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3112:1: ( ruleImport )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3113:1: ruleImport
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getImportListImportParserRuleCall_0_0()); 
            }
            pushFollow(FOLLOW_ruleImport_in_rule__Prog__ImportListAssignment_06214);
            ruleImport();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getImportListImportParserRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__ImportListAssignment_0"


    // $ANTLR start "rule__Prog__TdAssignment_1_1_0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3122:1: rule__Prog__TdAssignment_1_1_0 : ( ruleTypeDich ) ;
    public final void rule__Prog__TdAssignment_1_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3126:1: ( ( ruleTypeDich ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3127:1: ( ruleTypeDich )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3127:1: ( ruleTypeDich )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3128:1: ruleTypeDich
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getTdTypeDichParserRuleCall_1_1_0_0()); 
            }
            pushFollow(FOLLOW_ruleTypeDich_in_rule__Prog__TdAssignment_1_1_06245);
            ruleTypeDich();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getTdTypeDichParserRuleCall_1_1_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__TdAssignment_1_1_0"


    // $ANTLR start "rule__Prog__DAssignment_2_1_0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3137:1: rule__Prog__DAssignment_2_1_0 : ( ruleDich ) ;
    public final void rule__Prog__DAssignment_2_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3141:1: ( ( ruleDich ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3142:1: ( ruleDich )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3142:1: ( ruleDich )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3143:1: ruleDich
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getDDichParserRuleCall_2_1_0_0()); 
            }
            pushFollow(FOLLOW_ruleDich_in_rule__Prog__DAssignment_2_1_06276);
            ruleDich();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getDDichParserRuleCall_2_1_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__DAssignment_2_1_0"


    // $ANTLR start "rule__Prog__MainAssignment_4"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3152:1: rule__Prog__MainAssignment_4 : ( ruleTerm ) ;
    public final void rule__Prog__MainAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3156:1: ( ( ruleTerm ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3157:1: ( ruleTerm )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3157:1: ( ruleTerm )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3158:1: ruleTerm
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProgAccess().getMainTermParserRuleCall_4_0()); 
            }
            pushFollow(FOLLOW_ruleTerm_in_rule__Prog__MainAssignment_46307);
            ruleTerm();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProgAccess().getMainTermParserRuleCall_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog__MainAssignment_4"


    // $ANTLR start "rule__Prog1__ImportListAssignment_0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3167:1: rule__Prog1__ImportListAssignment_0 : ( ruleImport ) ;
    public final void rule__Prog1__ImportListAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3171:1: ( ( ruleImport ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3172:1: ( ruleImport )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3172:1: ( ruleImport )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3173:1: ruleImport
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProg1Access().getImportListImportParserRuleCall_0_0()); 
            }
            pushFollow(FOLLOW_ruleImport_in_rule__Prog1__ImportListAssignment_06338);
            ruleImport();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProg1Access().getImportListImportParserRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__ImportListAssignment_0"


    // $ANTLR start "rule__Prog1__TdAssignment_1_1_0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3182:1: rule__Prog1__TdAssignment_1_1_0 : ( ruleTypeDich ) ;
    public final void rule__Prog1__TdAssignment_1_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3186:1: ( ( ruleTypeDich ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3187:1: ( ruleTypeDich )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3187:1: ( ruleTypeDich )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3188:1: ruleTypeDich
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProg1Access().getTdTypeDichParserRuleCall_1_1_0_0()); 
            }
            pushFollow(FOLLOW_ruleTypeDich_in_rule__Prog1__TdAssignment_1_1_06369);
            ruleTypeDich();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProg1Access().getTdTypeDichParserRuleCall_1_1_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__TdAssignment_1_1_0"


    // $ANTLR start "rule__Prog1__DAssignment_2_1_0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3197:1: rule__Prog1__DAssignment_2_1_0 : ( ruleDich ) ;
    public final void rule__Prog1__DAssignment_2_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3201:1: ( ( ruleDich ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3202:1: ( ruleDich )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3202:1: ( ruleDich )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3203:1: ruleDich
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getProg1Access().getDDichParserRuleCall_2_1_0_0()); 
            }
            pushFollow(FOLLOW_ruleDich_in_rule__Prog1__DAssignment_2_1_06400);
            ruleDich();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getProg1Access().getDDichParserRuleCall_2_1_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Prog1__DAssignment_2_1_0"


    // $ANTLR start "rule__Import__ImportURIAssignment_1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3212:1: rule__Import__ImportURIAssignment_1 : ( RULE_STRING ) ;
    public final void rule__Import__ImportURIAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3216:1: ( ( RULE_STRING ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3217:1: ( RULE_STRING )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3217:1: ( RULE_STRING )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3218:1: RULE_STRING
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_1_0()); 
            }
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_16431); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Import__ImportURIAssignment_1"


    // $ANTLR start "rule__Dich__NameAssignment_0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3227:1: rule__Dich__NameAssignment_0 : ( RULE_ID ) ;
    public final void rule__Dich__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3231:1: ( ( RULE_ID ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3232:1: ( RULE_ID )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3232:1: ( RULE_ID )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3233:1: RULE_ID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDichAccess().getNameIDTerminalRuleCall_0_0()); 
            }
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Dich__NameAssignment_06462); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getDichAccess().getNameIDTerminalRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Dich__NameAssignment_0"


    // $ANTLR start "rule__Dich__TermAssignment_2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3242:1: rule__Dich__TermAssignment_2 : ( ruleTerm ) ;
    public final void rule__Dich__TermAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3246:1: ( ( ruleTerm ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3247:1: ( ruleTerm )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3247:1: ( ruleTerm )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3248:1: ruleTerm
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDichAccess().getTermTermParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleTerm_in_rule__Dich__TermAssignment_26493);
            ruleTerm();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getDichAccess().getTermTermParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Dich__TermAssignment_2"


    // $ANTLR start "rule__Nrif__NomeAssignment"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3257:1: rule__Nrif__NomeAssignment : ( ( RULE_ID ) ) ;
    public final void rule__Nrif__NomeAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3261:1: ( ( ( RULE_ID ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3262:1: ( ( RULE_ID ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3262:1: ( ( RULE_ID ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3263:1: ( RULE_ID )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getNrifAccess().getNomeDichCrossReference_0()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3264:1: ( RULE_ID )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3265:1: RULE_ID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getNrifAccess().getNomeDichIDTerminalRuleCall_0_1()); 
            }
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Nrif__NomeAssignment6528); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getNrifAccess().getNomeDichIDTerminalRuleCall_0_1()); 
            }

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getNrifAccess().getNomeDichCrossReference_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Nrif__NomeAssignment"


    // $ANTLR start "rule__Let__VarAssignment_1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3276:1: rule__Let__VarAssignment_1 : ( RULE_VARIABLE ) ;
    public final void rule__Let__VarAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3280:1: ( ( RULE_VARIABLE ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3281:1: ( RULE_VARIABLE )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3281:1: ( RULE_VARIABLE )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3282:1: RULE_VARIABLE
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetAccess().getVarVariableTerminalRuleCall_1_0()); 
            }
            match(input,RULE_VARIABLE,FOLLOW_RULE_VARIABLE_in_rule__Let__VarAssignment_16563); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetAccess().getVarVariableTerminalRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__VarAssignment_1"


    // $ANTLR start "rule__Let__TypeAssignment_3"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3291:1: rule__Let__TypeAssignment_3 : ( ruleT ) ;
    public final void rule__Let__TypeAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3295:1: ( ( ruleT ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3296:1: ( ruleT )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3296:1: ( ruleT )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3297:1: ruleT
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetAccess().getTypeTParserRuleCall_3_0()); 
            }
            pushFollow(FOLLOW_ruleT_in_rule__Let__TypeAssignment_36594);
            ruleT();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetAccess().getTypeTParserRuleCall_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__TypeAssignment_3"


    // $ANTLR start "rule__Let__T1Assignment_5"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3306:1: rule__Let__T1Assignment_5 : ( ruleTerm ) ;
    public final void rule__Let__T1Assignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3310:1: ( ( ruleTerm ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3311:1: ( ruleTerm )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3311:1: ( ruleTerm )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3312:1: ruleTerm
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetAccess().getT1TermParserRuleCall_5_0()); 
            }
            pushFollow(FOLLOW_ruleTerm_in_rule__Let__T1Assignment_56625);
            ruleTerm();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetAccess().getT1TermParserRuleCall_5_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__T1Assignment_5"


    // $ANTLR start "rule__Let__T2Assignment_7"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3321:1: rule__Let__T2Assignment_7 : ( ruleTerm ) ;
    public final void rule__Let__T2Assignment_7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3325:1: ( ( ruleTerm ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3326:1: ( ruleTerm )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3326:1: ( ruleTerm )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3327:1: ruleTerm
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetAccess().getT2TermParserRuleCall_7_0()); 
            }
            pushFollow(FOLLOW_ruleTerm_in_rule__Let__T2Assignment_76656);
            ruleTerm();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetAccess().getT2TermParserRuleCall_7_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Let__T2Assignment_7"


    // $ANTLR start "rule__Var__NameAssignment"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3336:1: rule__Var__NameAssignment : ( RULE_VARIABLE ) ;
    public final void rule__Var__NameAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3340:1: ( ( RULE_VARIABLE ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3341:1: ( RULE_VARIABLE )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3341:1: ( RULE_VARIABLE )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3342:1: RULE_VARIABLE
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVarAccess().getNameVariableTerminalRuleCall_0()); 
            }
            match(input,RULE_VARIABLE,FOLLOW_RULE_VARIABLE_in_rule__Var__NameAssignment6687); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getVarAccess().getNameVariableTerminalRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Var__NameAssignment"


    // $ANTLR start "rule__Abs__ParamAssignment_1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3351:1: rule__Abs__ParamAssignment_1 : ( RULE_VARIABLE ) ;
    public final void rule__Abs__ParamAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3355:1: ( ( RULE_VARIABLE ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3356:1: ( RULE_VARIABLE )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3356:1: ( RULE_VARIABLE )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3357:1: RULE_VARIABLE
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAbsAccess().getParamVariableTerminalRuleCall_1_0()); 
            }
            match(input,RULE_VARIABLE,FOLLOW_RULE_VARIABLE_in_rule__Abs__ParamAssignment_16718); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAbsAccess().getParamVariableTerminalRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Abs__ParamAssignment_1"


    // $ANTLR start "rule__Abs__TypeAssignment_3"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3366:1: rule__Abs__TypeAssignment_3 : ( ruleT ) ;
    public final void rule__Abs__TypeAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3370:1: ( ( ruleT ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3371:1: ( ruleT )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3371:1: ( ruleT )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3372:1: ruleT
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAbsAccess().getTypeTParserRuleCall_3_0()); 
            }
            pushFollow(FOLLOW_ruleT_in_rule__Abs__TypeAssignment_36749);
            ruleT();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAbsAccess().getTypeTParserRuleCall_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Abs__TypeAssignment_3"


    // $ANTLR start "rule__Abs__BodyAssignment_5"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3381:1: rule__Abs__BodyAssignment_5 : ( ruleTerm ) ;
    public final void rule__Abs__BodyAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3385:1: ( ( ruleTerm ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3386:1: ( ruleTerm )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3386:1: ( ruleTerm )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3387:1: ruleTerm
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAbsAccess().getBodyTermParserRuleCall_5_0()); 
            }
            pushFollow(FOLLOW_ruleTerm_in_rule__Abs__BodyAssignment_56780);
            ruleTerm();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAbsAccess().getBodyTermParserRuleCall_5_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Abs__BodyAssignment_5"


    // $ANTLR start "rule__App__T1Assignment_1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3396:1: rule__App__T1Assignment_1 : ( ruleTerm ) ;
    public final void rule__App__T1Assignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3400:1: ( ( ruleTerm ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3401:1: ( ruleTerm )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3401:1: ( ruleTerm )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3402:1: ruleTerm
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAppAccess().getT1TermParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleTerm_in_rule__App__T1Assignment_16811);
            ruleTerm();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAppAccess().getT1TermParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__App__T1Assignment_1"


    // $ANTLR start "rule__App__T2Assignment_3"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3411:1: rule__App__T2Assignment_3 : ( ruleTerm ) ;
    public final void rule__App__T2Assignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3415:1: ( ( ruleTerm ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3416:1: ( ruleTerm )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3416:1: ( ruleTerm )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3417:1: ruleTerm
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAppAccess().getT2TermParserRuleCall_3_0()); 
            }
            pushFollow(FOLLOW_ruleTerm_in_rule__App__T2Assignment_36842);
            ruleTerm();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAppAccess().getT2TermParserRuleCall_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__App__T2Assignment_3"


    // $ANTLR start "rule__Uq__VarAssignment_1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3426:1: rule__Uq__VarAssignment_1 : ( RULE_TVAR ) ;
    public final void rule__Uq__VarAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3430:1: ( ( RULE_TVAR ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3431:1: ( RULE_TVAR )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3431:1: ( RULE_TVAR )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3432:1: RULE_TVAR
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUqAccess().getVarTvarTerminalRuleCall_1_0()); 
            }
            match(input,RULE_TVAR,FOLLOW_RULE_TVAR_in_rule__Uq__VarAssignment_16873); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUqAccess().getVarTvarTerminalRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Uq__VarAssignment_1"


    // $ANTLR start "rule__Uq__TermAssignment_3"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3441:1: rule__Uq__TermAssignment_3 : ( ruleTerm ) ;
    public final void rule__Uq__TermAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3445:1: ( ( ruleTerm ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3446:1: ( ruleTerm )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3446:1: ( ruleTerm )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3447:1: ruleTerm
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUqAccess().getTermTermParserRuleCall_3_0()); 
            }
            pushFollow(FOLLOW_ruleTerm_in_rule__Uq__TermAssignment_36904);
            ruleTerm();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUqAccess().getTermTermParserRuleCall_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Uq__TermAssignment_3"


    // $ANTLR start "rule__Tapp__TermAssignment_1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3456:1: rule__Tapp__TermAssignment_1 : ( ruleTerm ) ;
    public final void rule__Tapp__TermAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3460:1: ( ( ruleTerm ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3461:1: ( ruleTerm )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3461:1: ( ruleTerm )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3462:1: ruleTerm
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTappAccess().getTermTermParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleTerm_in_rule__Tapp__TermAssignment_16935);
            ruleTerm();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTappAccess().getTermTermParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Tapp__TermAssignment_1"


    // $ANTLR start "rule__Tapp__TypeAssignment_3"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3471:1: rule__Tapp__TypeAssignment_3 : ( ruleT ) ;
    public final void rule__Tapp__TypeAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3475:1: ( ( ruleT ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3476:1: ( ruleT )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3476:1: ( ruleT )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3477:1: ruleT
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTappAccess().getTypeTParserRuleCall_3_0()); 
            }
            pushFollow(FOLLOW_ruleT_in_rule__Tapp__TypeAssignment_36966);
            ruleT();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTappAccess().getTypeTParserRuleCall_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Tapp__TypeAssignment_3"


    // $ANTLR start "rule__T1__PAssignment_0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3486:1: rule__T1__PAssignment_0 : ( RULE_TVAR ) ;
    public final void rule__T1__PAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3490:1: ( ( RULE_TVAR ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3491:1: ( RULE_TVAR )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3491:1: ( RULE_TVAR )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3492:1: RULE_TVAR
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT1Access().getPTvarTerminalRuleCall_0_0()); 
            }
            match(input,RULE_TVAR,FOLLOW_RULE_TVAR_in_rule__T1__PAssignment_06997); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getT1Access().getPTvarTerminalRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T1__PAssignment_0"


    // $ANTLR start "rule__T1__CAssignment_1_1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3501:1: rule__T1__CAssignment_1_1 : ( ruleT ) ;
    public final void rule__T1__CAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3505:1: ( ( ruleT ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3506:1: ( ruleT )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3506:1: ( ruleT )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3507:1: ruleT
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT1Access().getCTParserRuleCall_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleT_in_rule__T1__CAssignment_1_17028);
            ruleT();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getT1Access().getCTParserRuleCall_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T1__CAssignment_1_1"


    // $ANTLR start "rule__T2__P1Assignment_1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3516:1: rule__T2__P1Assignment_1 : ( ruleT ) ;
    public final void rule__T2__P1Assignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3520:1: ( ( ruleT ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3521:1: ( ruleT )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3521:1: ( ruleT )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3522:1: ruleT
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT2Access().getP1TParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleT_in_rule__T2__P1Assignment_17059);
            ruleT();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getT2Access().getP1TParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T2__P1Assignment_1"


    // $ANTLR start "rule__T2__C1Assignment_3_1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3531:1: rule__T2__C1Assignment_3_1 : ( ruleT ) ;
    public final void rule__T2__C1Assignment_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3535:1: ( ( ruleT ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3536:1: ( ruleT )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3536:1: ( ruleT )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3537:1: ruleT
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT2Access().getC1TParserRuleCall_3_1_0()); 
            }
            pushFollow(FOLLOW_ruleT_in_rule__T2__C1Assignment_3_17090);
            ruleT();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getT2Access().getC1TParserRuleCall_3_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T2__C1Assignment_3_1"


    // $ANTLR start "rule__T3__VarAssignment_1"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3546:1: rule__T3__VarAssignment_1 : ( RULE_TVAR ) ;
    public final void rule__T3__VarAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3550:1: ( ( RULE_TVAR ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3551:1: ( RULE_TVAR )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3551:1: ( RULE_TVAR )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3552:1: RULE_TVAR
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT3Access().getVarTvarTerminalRuleCall_1_0()); 
            }
            match(input,RULE_TVAR,FOLLOW_RULE_TVAR_in_rule__T3__VarAssignment_17121); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getT3Access().getVarTvarTerminalRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T3__VarAssignment_1"


    // $ANTLR start "rule__T3__TAssignment_2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3561:1: rule__T3__TAssignment_2 : ( ruleT ) ;
    public final void rule__T3__TAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3565:1: ( ( ruleT ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3566:1: ( ruleT )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3566:1: ( ruleT )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3567:1: ruleT
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getT3Access().getTTParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleT_in_rule__T3__TAssignment_27152);
            ruleT();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getT3Access().getTTParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__T3__TAssignment_2"


    // $ANTLR start "rule__TypeDich__NameAssignment_0"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3576:1: rule__TypeDich__NameAssignment_0 : ( RULE_ID ) ;
    public final void rule__TypeDich__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3580:1: ( ( RULE_ID ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3581:1: ( RULE_ID )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3581:1: ( RULE_ID )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3582:1: RULE_ID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTypeDichAccess().getNameIDTerminalRuleCall_0_0()); 
            }
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__TypeDich__NameAssignment_07183); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTypeDichAccess().getNameIDTerminalRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDich__NameAssignment_0"


    // $ANTLR start "rule__TypeDich__TypeAssignment_2"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3591:1: rule__TypeDich__TypeAssignment_2 : ( ruleT ) ;
    public final void rule__TypeDich__TypeAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3595:1: ( ( ruleT ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3596:1: ( ruleT )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3596:1: ( ruleT )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3597:1: ruleT
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTypeDichAccess().getTypeTParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleT_in_rule__TypeDich__TypeAssignment_27214);
            ruleT();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTypeDichAccess().getTypeTParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeDich__TypeAssignment_2"


    // $ANTLR start "rule__Trif__NomeAssignment"
    // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3606:1: rule__Trif__NomeAssignment : ( ( RULE_ID ) ) ;
    public final void rule__Trif__NomeAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3610:1: ( ( ( RULE_ID ) ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3611:1: ( ( RULE_ID ) )
            {
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3611:1: ( ( RULE_ID ) )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3612:1: ( RULE_ID )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTrifAccess().getNomeTypeDichCrossReference_0()); 
            }
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3613:1: ( RULE_ID )
            // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:3614:1: RULE_ID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTrifAccess().getNomeTypeDichIDTerminalRuleCall_0_1()); 
            }
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Trif__NomeAssignment7249); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTrifAccess().getNomeTypeDichIDTerminalRuleCall_0_1()); 
            }

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getTrifAccess().getNomeTypeDichCrossReference_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Trif__NomeAssignment"

    // $ANTLR start synpred1_InternalMyDsl
    public final void synpred1_InternalMyDsl_fragment() throws RecognitionException {   
        // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:598:1: ( ( ruleProg ) )
        // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:598:1: ( ruleProg )
        {
        // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:598:1: ( ruleProg )
        // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:599:1: ruleProg
        {
        if ( state.backtracking==0 ) {
           before(grammarAccess.getFileSFAccess().getProgParserRuleCall_0()); 
        }
        pushFollow(FOLLOW_ruleProg_in_synpred1_InternalMyDsl1216);
        ruleProg();

        state._fsp--;
        if (state.failed) return ;

        }


        }
    }
    // $ANTLR end synpred1_InternalMyDsl

    // $ANTLR start synpred21_InternalMyDsl
    public final void synpred21_InternalMyDsl_fragment() throws RecognitionException {   
        // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2651:2: ( rule__T1__Group_1__0 )
        // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2651:2: rule__T1__Group_1__0
        {
        pushFollow(FOLLOW_rule__T1__Group_1__0_in_synpred21_InternalMyDsl5308);
        rule__T1__Group_1__0();

        state._fsp--;
        if (state.failed) return ;

        }
    }
    // $ANTLR end synpred21_InternalMyDsl

    // $ANTLR start synpred22_InternalMyDsl
    public final void synpred22_InternalMyDsl_fragment() throws RecognitionException {   
        // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2837:2: ( rule__T2__Group_3__0 )
        // ../polyTime.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2837:2: rule__T2__Group_3__0
        {
        pushFollow(FOLLOW_rule__T2__Group_3__0_in_synpred22_InternalMyDsl5677);
        rule__T2__Group_3__0();

        state._fsp--;
        if (state.failed) return ;

        }
    }
    // $ANTLR end synpred22_InternalMyDsl

    // Delegated rules

    public final boolean synpred22_InternalMyDsl() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred22_InternalMyDsl_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }
    public final boolean synpred1_InternalMyDsl() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred1_InternalMyDsl_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }
    public final boolean synpred21_InternalMyDsl() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred21_InternalMyDsl_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }


 

    public static final BitSet FOLLOW_ruleFileSF_in_entryRuleFileSF67 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFileSF74 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FileSF__Alternatives_in_ruleFileSF100 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleProg_in_entryRuleProg127 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleProg134 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group__0_in_ruleProg160 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleProg1_in_entryRuleProg1187 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleProg1194 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__Group__0_in_ruleProg1220 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImport_in_entryRuleImport247 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleImport254 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__Group__0_in_ruleImport280 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDich_in_entryRuleDich307 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDich314 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Dich__Group__0_in_ruleDich340 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNrif_in_entryRuleNrif367 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNrif374 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Nrif__NomeAssignment_in_ruleNrif400 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTerm_in_entryRuleTerm427 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTerm434 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Term__Alternatives_in_ruleTerm460 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLet_in_entryRuleLet487 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleLet494 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Let__Group__0_in_ruleLet520 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleVar_in_entryRuleVar547 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleVar554 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Var__NameAssignment_in_ruleVar580 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAbs_in_entryRuleAbs607 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAbs614 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Abs__Group__0_in_ruleAbs640 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleApp_in_entryRuleApp667 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleApp674 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__App__Group__0_in_ruleApp700 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUq_in_entryRuleUq727 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleUq734 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Uq__Group__0_in_ruleUq760 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTapp_in_entryRuleTapp787 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTapp794 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tapp__Group__0_in_ruleTapp820 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleT_in_entryRuleT847 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleT854 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T__Alternatives_in_ruleT880 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleT1_in_entryRuleT1907 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleT1914 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T1__Group__0_in_ruleT1940 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleT2_in_entryRuleT2967 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleT2974 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T2__Group__0_in_ruleT21000 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleT3_in_entryRuleT31027 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleT31034 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T3__Group__0_in_ruleT31060 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTypeDich_in_entryRuleTypeDich1087 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTypeDich1094 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeDich__Group__0_in_ruleTypeDich1120 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTrif_in_entryRuleTrif1147 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTrif1154 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Trif__NomeAssignment_in_ruleTrif1180 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleProg_in_rule__FileSF__Alternatives1216 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleProg1_in_rule__FileSF__Alternatives1233 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleVar_in_rule__Term__Alternatives1265 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAbs_in_rule__Term__Alternatives1282 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleApp_in_rule__Term__Alternatives1299 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUq_in_rule__Term__Alternatives1316 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTapp_in_rule__Term__Alternatives1334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNrif_in_rule__Term__Alternatives1352 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLet_in_rule__Term__Alternatives1369 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleT1_in_rule__T__Alternatives1401 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleT2_in_rule__T__Alternatives1418 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleT3_in_rule__T__Alternatives1435 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTrif_in_rule__T__Alternatives1452 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group__0__Impl_in_rule__Prog__Group__01482 = new BitSet(new long[]{0x000000000002A000L});
    public static final BitSet FOLLOW_rule__Prog__Group__1_in_rule__Prog__Group__01485 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__ImportListAssignment_0_in_rule__Prog__Group__0__Impl1512 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group__1__Impl_in_rule__Prog__Group__11543 = new BitSet(new long[]{0x000000000002A000L});
    public static final BitSet FOLLOW_rule__Prog__Group__2_in_rule__Prog__Group__11546 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group_1__0_in_rule__Prog__Group__1__Impl1573 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group__2__Impl_in_rule__Prog__Group__21604 = new BitSet(new long[]{0x000000000002A000L});
    public static final BitSet FOLLOW_rule__Prog__Group__3_in_rule__Prog__Group__21607 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group_2__0_in_rule__Prog__Group__2__Impl1634 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group__3__Impl_in_rule__Prog__Group__31665 = new BitSet(new long[]{0x000000002A900060L});
    public static final BitSet FOLLOW_rule__Prog__Group__4_in_rule__Prog__Group__31668 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Prog__Group__3__Impl1696 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group__4__Impl_in_rule__Prog__Group__41727 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__Prog__Group__5_in_rule__Prog__Group__41730 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__MainAssignment_4_in_rule__Prog__Group__4__Impl1757 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group__5__Impl_in_rule__Prog__Group__51787 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__Prog__Group__5__Impl1815 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group_1__0__Impl_in_rule__Prog__Group_1__01858 = new BitSet(new long[]{0x0000000000004020L});
    public static final BitSet FOLLOW_rule__Prog__Group_1__1_in_rule__Prog__Group_1__01861 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Prog__Group_1__0__Impl1889 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group_1__1__Impl_in_rule__Prog__Group_1__11920 = new BitSet(new long[]{0x0000000000004020L});
    public static final BitSet FOLLOW_rule__Prog__Group_1__2_in_rule__Prog__Group_1__11923 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group_1_1__0_in_rule__Prog__Group_1__1__Impl1950 = new BitSet(new long[]{0x0000000000000022L});
    public static final BitSet FOLLOW_rule__Prog__Group_1__2__Impl_in_rule__Prog__Group_1__21981 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__Prog__Group_1__2__Impl2009 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group_1_1__0__Impl_in_rule__Prog__Group_1_1__02046 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Prog__Group_1_1__1_in_rule__Prog__Group_1_1__02049 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__TdAssignment_1_1_0_in_rule__Prog__Group_1_1__0__Impl2076 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group_1_1__1__Impl_in_rule__Prog__Group_1_1__12106 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Prog__Group_1_1__1__Impl2134 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group_2__0__Impl_in_rule__Prog__Group_2__02169 = new BitSet(new long[]{0x0000000000004020L});
    public static final BitSet FOLLOW_rule__Prog__Group_2__1_in_rule__Prog__Group_2__02172 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__Prog__Group_2__0__Impl2200 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group_2__1__Impl_in_rule__Prog__Group_2__12231 = new BitSet(new long[]{0x0000000000004020L});
    public static final BitSet FOLLOW_rule__Prog__Group_2__2_in_rule__Prog__Group_2__12234 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group_2_1__0_in_rule__Prog__Group_2__1__Impl2261 = new BitSet(new long[]{0x0000000000000022L});
    public static final BitSet FOLLOW_rule__Prog__Group_2__2__Impl_in_rule__Prog__Group_2__22292 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__Prog__Group_2__2__Impl2320 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group_2_1__0__Impl_in_rule__Prog__Group_2_1__02357 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Prog__Group_2_1__1_in_rule__Prog__Group_2_1__02360 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__DAssignment_2_1_0_in_rule__Prog__Group_2_1__0__Impl2387 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog__Group_2_1__1__Impl_in_rule__Prog__Group_2_1__12417 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Prog__Group_2_1__1__Impl2445 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__Group__0__Impl_in_rule__Prog1__Group__02480 = new BitSet(new long[]{0x0000000000028000L});
    public static final BitSet FOLLOW_rule__Prog1__Group__1_in_rule__Prog1__Group__02483 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__ImportListAssignment_0_in_rule__Prog1__Group__0__Impl2510 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__Group__1__Impl_in_rule__Prog1__Group__12541 = new BitSet(new long[]{0x0000000000028000L});
    public static final BitSet FOLLOW_rule__Prog1__Group__2_in_rule__Prog1__Group__12544 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__Group_1__0_in_rule__Prog1__Group__1__Impl2571 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__Group__2__Impl_in_rule__Prog1__Group__22602 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__Group_2__0_in_rule__Prog1__Group__2__Impl2629 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__Group_1__0__Impl_in_rule__Prog1__Group_1__02666 = new BitSet(new long[]{0x0000000000004020L});
    public static final BitSet FOLLOW_rule__Prog1__Group_1__1_in_rule__Prog1__Group_1__02669 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Prog1__Group_1__0__Impl2697 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__Group_1__1__Impl_in_rule__Prog1__Group_1__12728 = new BitSet(new long[]{0x0000000000004020L});
    public static final BitSet FOLLOW_rule__Prog1__Group_1__2_in_rule__Prog1__Group_1__12731 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__Group_1_1__0_in_rule__Prog1__Group_1__1__Impl2758 = new BitSet(new long[]{0x0000000000000022L});
    public static final BitSet FOLLOW_rule__Prog1__Group_1__2__Impl_in_rule__Prog1__Group_1__22789 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__Prog1__Group_1__2__Impl2817 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__Group_1_1__0__Impl_in_rule__Prog1__Group_1_1__02854 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Prog1__Group_1_1__1_in_rule__Prog1__Group_1_1__02857 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__TdAssignment_1_1_0_in_rule__Prog1__Group_1_1__0__Impl2884 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__Group_1_1__1__Impl_in_rule__Prog1__Group_1_1__12914 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Prog1__Group_1_1__1__Impl2942 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__Group_2__0__Impl_in_rule__Prog1__Group_2__02977 = new BitSet(new long[]{0x0000000000004020L});
    public static final BitSet FOLLOW_rule__Prog1__Group_2__1_in_rule__Prog1__Group_2__02980 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__Prog1__Group_2__0__Impl3008 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__Group_2__1__Impl_in_rule__Prog1__Group_2__13039 = new BitSet(new long[]{0x0000000000004020L});
    public static final BitSet FOLLOW_rule__Prog1__Group_2__2_in_rule__Prog1__Group_2__13042 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__Group_2_1__0_in_rule__Prog1__Group_2__1__Impl3069 = new BitSet(new long[]{0x0000000000000022L});
    public static final BitSet FOLLOW_rule__Prog1__Group_2__2__Impl_in_rule__Prog1__Group_2__23100 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__Prog1__Group_2__2__Impl3128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__Group_2_1__0__Impl_in_rule__Prog1__Group_2_1__03165 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__Prog1__Group_2_1__1_in_rule__Prog1__Group_2_1__03168 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__DAssignment_2_1_0_in_rule__Prog1__Group_2_1__0__Impl3195 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Prog1__Group_2_1__1__Impl_in_rule__Prog1__Group_2_1__13225 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Prog1__Group_2_1__1__Impl3253 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__03288 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Import__Group__1_in_rule__Import__Group__03291 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Import__Group__0__Impl3319 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__13350 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__ImportURIAssignment_1_in_rule__Import__Group__1__Impl3377 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Dich__Group__0__Impl_in_rule__Dich__Group__03411 = new BitSet(new long[]{0x0000000000080000L});
    public static final BitSet FOLLOW_rule__Dich__Group__1_in_rule__Dich__Group__03414 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Dich__NameAssignment_0_in_rule__Dich__Group__0__Impl3441 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Dich__Group__1__Impl_in_rule__Dich__Group__13471 = new BitSet(new long[]{0x000000002A900060L});
    public static final BitSet FOLLOW_rule__Dich__Group__2_in_rule__Dich__Group__13474 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__Dich__Group__1__Impl3502 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Dich__Group__2__Impl_in_rule__Dich__Group__23533 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Dich__TermAssignment_2_in_rule__Dich__Group__2__Impl3560 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Let__Group__0__Impl_in_rule__Let__Group__03596 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Let__Group__1_in_rule__Let__Group__03599 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Let__Group__0__Impl3627 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Let__Group__1__Impl_in_rule__Let__Group__13658 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_rule__Let__Group__2_in_rule__Let__Group__13661 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Let__VarAssignment_1_in_rule__Let__Group__1__Impl3688 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Let__Group__2__Impl_in_rule__Let__Group__23718 = new BitSet(new long[]{0x00000001020000A0L});
    public static final BitSet FOLLOW_rule__Let__Group__3_in_rule__Let__Group__23721 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Let__Group__2__Impl3749 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Let__Group__3__Impl_in_rule__Let__Group__33780 = new BitSet(new long[]{0x0000000000080000L});
    public static final BitSet FOLLOW_rule__Let__Group__4_in_rule__Let__Group__33783 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Let__TypeAssignment_3_in_rule__Let__Group__3__Impl3810 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Let__Group__4__Impl_in_rule__Let__Group__43840 = new BitSet(new long[]{0x000000002A900060L});
    public static final BitSet FOLLOW_rule__Let__Group__5_in_rule__Let__Group__43843 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__Let__Group__4__Impl3871 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Let__Group__5__Impl_in_rule__Let__Group__53902 = new BitSet(new long[]{0x0000000000400000L});
    public static final BitSet FOLLOW_rule__Let__Group__6_in_rule__Let__Group__53905 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Let__T1Assignment_5_in_rule__Let__Group__5__Impl3932 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Let__Group__6__Impl_in_rule__Let__Group__63962 = new BitSet(new long[]{0x000000002A900060L});
    public static final BitSet FOLLOW_rule__Let__Group__7_in_rule__Let__Group__63965 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__Let__Group__6__Impl3993 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Let__Group__7__Impl_in_rule__Let__Group__74024 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Let__T2Assignment_7_in_rule__Let__Group__7__Impl4051 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Abs__Group__0__Impl_in_rule__Abs__Group__04097 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Abs__Group__1_in_rule__Abs__Group__04100 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__Abs__Group__0__Impl4128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Abs__Group__1__Impl_in_rule__Abs__Group__14159 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_rule__Abs__Group__2_in_rule__Abs__Group__14162 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Abs__ParamAssignment_1_in_rule__Abs__Group__1__Impl4189 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Abs__Group__2__Impl_in_rule__Abs__Group__24219 = new BitSet(new long[]{0x00000001020000A0L});
    public static final BitSet FOLLOW_rule__Abs__Group__3_in_rule__Abs__Group__24222 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Abs__Group__2__Impl4250 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Abs__Group__3__Impl_in_rule__Abs__Group__34281 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_rule__Abs__Group__4_in_rule__Abs__Group__34284 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Abs__TypeAssignment_3_in_rule__Abs__Group__3__Impl4311 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Abs__Group__4__Impl_in_rule__Abs__Group__44341 = new BitSet(new long[]{0x000000002A900060L});
    public static final BitSet FOLLOW_rule__Abs__Group__5_in_rule__Abs__Group__44344 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__Abs__Group__4__Impl4372 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Abs__Group__5__Impl_in_rule__Abs__Group__54403 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Abs__BodyAssignment_5_in_rule__Abs__Group__5__Impl4430 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__App__Group__0__Impl_in_rule__App__Group__04472 = new BitSet(new long[]{0x000000002A900060L});
    public static final BitSet FOLLOW_rule__App__Group__1_in_rule__App__Group__04475 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__App__Group__0__Impl4503 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__App__Group__1__Impl_in_rule__App__Group__14534 = new BitSet(new long[]{0x0000000004000000L});
    public static final BitSet FOLLOW_rule__App__Group__2_in_rule__App__Group__14537 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__App__T1Assignment_1_in_rule__App__Group__1__Impl4564 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__App__Group__2__Impl_in_rule__App__Group__24594 = new BitSet(new long[]{0x000000002A900060L});
    public static final BitSet FOLLOW_rule__App__Group__3_in_rule__App__Group__24597 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__App__Group__2__Impl4625 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__App__Group__3__Impl_in_rule__App__Group__34656 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__App__T2Assignment_3_in_rule__App__Group__3__Impl4683 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Uq__Group__0__Impl_in_rule__Uq__Group__04721 = new BitSet(new long[]{0x0000000000000080L});
    public static final BitSet FOLLOW_rule__Uq__Group__1_in_rule__Uq__Group__04724 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_rule__Uq__Group__0__Impl4752 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Uq__Group__1__Impl_in_rule__Uq__Group__14783 = new BitSet(new long[]{0x0000000010000000L});
    public static final BitSet FOLLOW_rule__Uq__Group__2_in_rule__Uq__Group__14786 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Uq__VarAssignment_1_in_rule__Uq__Group__1__Impl4813 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Uq__Group__2__Impl_in_rule__Uq__Group__24843 = new BitSet(new long[]{0x000000002A900060L});
    public static final BitSet FOLLOW_rule__Uq__Group__3_in_rule__Uq__Group__24846 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Uq__Group__2__Impl4874 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Uq__Group__3__Impl_in_rule__Uq__Group__34905 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Uq__TermAssignment_3_in_rule__Uq__Group__3__Impl4932 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tapp__Group__0__Impl_in_rule__Tapp__Group__04970 = new BitSet(new long[]{0x000000002A900060L});
    public static final BitSet FOLLOW_rule__Tapp__Group__1_in_rule__Tapp__Group__04973 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__Tapp__Group__0__Impl5002 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tapp__Group__1__Impl_in_rule__Tapp__Group__15034 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_rule__Tapp__Group__2_in_rule__Tapp__Group__15037 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tapp__TermAssignment_1_in_rule__Tapp__Group__1__Impl5064 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tapp__Group__2__Impl_in_rule__Tapp__Group__25094 = new BitSet(new long[]{0x00000001020000A0L});
    public static final BitSet FOLLOW_rule__Tapp__Group__3_in_rule__Tapp__Group__25097 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_rule__Tapp__Group__2__Impl5125 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tapp__Group__3__Impl_in_rule__Tapp__Group__35156 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tapp__TypeAssignment_3_in_rule__Tapp__Group__3__Impl5183 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T1__Group__0__Impl_in_rule__T1__Group__05221 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_rule__T1__Group__1_in_rule__T1__Group__05224 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T1__PAssignment_0_in_rule__T1__Group__0__Impl5251 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T1__Group__1__Impl_in_rule__T1__Group__15281 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T1__Group_1__0_in_rule__T1__Group__1__Impl5308 = new BitSet(new long[]{0x0000000080000002L});
    public static final BitSet FOLLOW_rule__T1__Group_1__0__Impl_in_rule__T1__Group_1__05343 = new BitSet(new long[]{0x00000001020000A0L});
    public static final BitSet FOLLOW_rule__T1__Group_1__1_in_rule__T1__Group_1__05346 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_rule__T1__Group_1__0__Impl5374 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T1__Group_1__1__Impl_in_rule__T1__Group_1__15405 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T1__CAssignment_1_1_in_rule__T1__Group_1__1__Impl5432 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T2__Group__0__Impl_in_rule__T2__Group__05466 = new BitSet(new long[]{0x00000001020000A0L});
    public static final BitSet FOLLOW_rule__T2__Group__1_in_rule__T2__Group__05469 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__T2__Group__0__Impl5497 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T2__Group__1__Impl_in_rule__T2__Group__15528 = new BitSet(new long[]{0x0000000004000000L});
    public static final BitSet FOLLOW_rule__T2__Group__2_in_rule__T2__Group__15531 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T2__P1Assignment_1_in_rule__T2__Group__1__Impl5558 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T2__Group__2__Impl_in_rule__T2__Group__25588 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_rule__T2__Group__3_in_rule__T2__Group__25591 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__T2__Group__2__Impl5619 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T2__Group__3__Impl_in_rule__T2__Group__35650 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T2__Group_3__0_in_rule__T2__Group__3__Impl5677 = new BitSet(new long[]{0x0000000080000002L});
    public static final BitSet FOLLOW_rule__T2__Group_3__0__Impl_in_rule__T2__Group_3__05716 = new BitSet(new long[]{0x00000001020000A0L});
    public static final BitSet FOLLOW_rule__T2__Group_3__1_in_rule__T2__Group_3__05719 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_rule__T2__Group_3__0__Impl5747 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T2__Group_3__1__Impl_in_rule__T2__Group_3__15778 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T2__C1Assignment_3_1_in_rule__T2__Group_3__1__Impl5805 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T3__Group__0__Impl_in_rule__T3__Group__05839 = new BitSet(new long[]{0x0000000000000080L});
    public static final BitSet FOLLOW_rule__T3__Group__1_in_rule__T3__Group__05842 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_32_in_rule__T3__Group__0__Impl5870 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T3__Group__1__Impl_in_rule__T3__Group__15901 = new BitSet(new long[]{0x00000001020000A0L});
    public static final BitSet FOLLOW_rule__T3__Group__2_in_rule__T3__Group__15904 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T3__VarAssignment_1_in_rule__T3__Group__1__Impl5931 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T3__Group__2__Impl_in_rule__T3__Group__25961 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T3__TAssignment_2_in_rule__T3__Group__2__Impl5988 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeDich__Group__0__Impl_in_rule__TypeDich__Group__06024 = new BitSet(new long[]{0x0000000000080000L});
    public static final BitSet FOLLOW_rule__TypeDich__Group__1_in_rule__TypeDich__Group__06027 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeDich__NameAssignment_0_in_rule__TypeDich__Group__0__Impl6054 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeDich__Group__1__Impl_in_rule__TypeDich__Group__16084 = new BitSet(new long[]{0x00000001020000A0L});
    public static final BitSet FOLLOW_rule__TypeDich__Group__2_in_rule__TypeDich__Group__16087 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__TypeDich__Group__1__Impl6115 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeDich__Group__2__Impl_in_rule__TypeDich__Group__26146 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeDich__TypeAssignment_2_in_rule__TypeDich__Group__2__Impl6173 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImport_in_rule__Prog__ImportListAssignment_06214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTypeDich_in_rule__Prog__TdAssignment_1_1_06245 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDich_in_rule__Prog__DAssignment_2_1_06276 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTerm_in_rule__Prog__MainAssignment_46307 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImport_in_rule__Prog1__ImportListAssignment_06338 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTypeDich_in_rule__Prog1__TdAssignment_1_1_06369 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDich_in_rule__Prog1__DAssignment_2_1_06400 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_16431 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Dich__NameAssignment_06462 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTerm_in_rule__Dich__TermAssignment_26493 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Nrif__NomeAssignment6528 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_VARIABLE_in_rule__Let__VarAssignment_16563 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleT_in_rule__Let__TypeAssignment_36594 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTerm_in_rule__Let__T1Assignment_56625 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTerm_in_rule__Let__T2Assignment_76656 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_VARIABLE_in_rule__Var__NameAssignment6687 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_VARIABLE_in_rule__Abs__ParamAssignment_16718 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleT_in_rule__Abs__TypeAssignment_36749 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTerm_in_rule__Abs__BodyAssignment_56780 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTerm_in_rule__App__T1Assignment_16811 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTerm_in_rule__App__T2Assignment_36842 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_TVAR_in_rule__Uq__VarAssignment_16873 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTerm_in_rule__Uq__TermAssignment_36904 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTerm_in_rule__Tapp__TermAssignment_16935 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleT_in_rule__Tapp__TypeAssignment_36966 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_TVAR_in_rule__T1__PAssignment_06997 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleT_in_rule__T1__CAssignment_1_17028 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleT_in_rule__T2__P1Assignment_17059 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleT_in_rule__T2__C1Assignment_3_17090 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_TVAR_in_rule__T3__VarAssignment_17121 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleT_in_rule__T3__TAssignment_27152 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__TypeDich__NameAssignment_07183 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleT_in_rule__TypeDich__TypeAssignment_27214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Trif__NomeAssignment7249 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleProg_in_synpred1_InternalMyDsl1216 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T1__Group_1__0_in_synpred21_InternalMyDsl5308 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__T2__Group_3__0_in_synpred22_InternalMyDsl5677 = new BitSet(new long[]{0x0000000000000002L});

}